
com.tinkerpop.gremlin.giraph.process.computer.GiraphMessenger Maven / Gradle / Ivy
package com.tinkerpop.gremlin.giraph.process.computer;
import com.tinkerpop.gremlin.giraph.process.computer.util.KryoWritable;
import com.tinkerpop.gremlin.giraph.structure.util.GiraphInternalVertex;
import com.tinkerpop.gremlin.process.computer.MessageType;
import com.tinkerpop.gremlin.process.computer.Messenger;
import com.tinkerpop.gremlin.util.StreamFactory;
import org.apache.hadoop.io.LongWritable;
import java.io.Serializable;
/**
* @author Marko A. Rodriguez (http://markorodriguez.com)
*/
public class GiraphMessenger implements Messenger {
private final GiraphInternalVertex giraphInternalVertex;
private final Iterable messages;
public GiraphMessenger(final GiraphInternalVertex giraphInternalVertex, final Iterable messages) {
this.giraphInternalVertex = giraphInternalVertex;
this.messages = messages;
}
@Override
public Iterable receiveMessages(final MessageType messageType) {
return (Iterable) StreamFactory.iterable(StreamFactory.stream(this.messages).map(m -> m.get()));
}
@Override
public void sendMessage(final MessageType messageType, final Serializable message) {
if (messageType instanceof MessageType.Local) {
final MessageType.Local
© 2015 - 2025 Weber Informatics LLC | Privacy Policy