本文整理汇总了Java中org.apache.tinkerpop.gremlin.process.computer.MessageCombiner类的典型用法代码示例。如果您正苦于以下问题:Java MessageCombiner类的具体用法?Java MessageCombiner怎么用?Java MessageCombiner使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
MessageCombiner类属于org.apache.tinkerpop.gremlin.process.computer包,在下文中一共展示了MessageCombiner类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: addMessage
import org.apache.tinkerpop.gremlin.process.computer.MessageCombiner; //导入依赖的package包/类
public synchronized void addMessage(M message, MessageScope scope, Map<MessageScope,Integer> scopeMap,
MessageCombiner<M> combiner) {
assert message!=null && scope!=null && combiner!=null;
Preconditions.checkArgument(scopeMap.containsKey(scope),"Provided scope was not declared in the VertexProgram: %s",scope);
assert scopeMap.containsKey(scope);
initializeCurrentMessages(scopeMap);
if (scopeMap.size()==1) {
if (currentMessages==null) currentMessages = message;
else currentMessages = combiner.combine(message,(M)currentMessages);
} else {
int pos = scopeMap.get(scope);
Object[] msgs = (Object[])currentMessages;
if (msgs[pos]==null) msgs[pos]=message;
else msgs[pos] = combiner.combine(message,(M)msgs[pos]);
}
}
示例2: mergeViewIncomingPayload
import org.apache.tinkerpop.gremlin.process.computer.MessageCombiner; //导入依赖的package包/类
private void mergeViewIncomingPayload(final ViewIncomingPayload<M> viewIncomingPayload, final MessageCombiner<M> messageCombiner) {
if (this.view == null)
this.view = viewIncomingPayload.view;
else
this.view.addAll(viewIncomingPayload.getView());
for (final M message : viewIncomingPayload.getIncomingMessages()) {
this.mergeMessage(message, messageCombiner);
}
}
示例3: mergePayload
import org.apache.tinkerpop.gremlin.process.computer.MessageCombiner; //导入依赖的package包/类
public void mergePayload(final Payload payload, final MessageCombiner<M> messageCombiner) {
if (null == payload)
return;
if (payload instanceof ViewPayload)
this.view = ((ViewPayload) payload).getView();
else if (payload instanceof MessagePayload)
this.mergeMessage(((MessagePayload<M>) payload).getMessage(), messageCombiner);
else if (payload instanceof ViewIncomingPayload)
this.mergeViewIncomingPayload((ViewIncomingPayload<M>) payload, messageCombiner);
else
throw new IllegalArgumentException("The provided payload is an unsupported merge payload: " + payload);
}
示例4: TinkerMessenger
import org.apache.tinkerpop.gremlin.process.computer.MessageCombiner; //导入依赖的package包/类
public TinkerMessenger(final Vertex vertex, final TinkerMessageBoard<M> messageBoard, final Optional<MessageCombiner<M>> combiner) {
this.vertex = vertex;
this.messageBoard = messageBoard;
this.combiner = combiner.isPresent() ? combiner.get() : null;
}
示例5: getMessageCombiner
import org.apache.tinkerpop.gremlin.process.computer.MessageCombiner; //导入依赖的package包/类
@Override
public Optional<MessageCombiner<Double>> getMessageCombiner() {
return (Optional) PageRankMessageCombiner.instance();
}
示例6: getMessageCombiner
import org.apache.tinkerpop.gremlin.process.computer.MessageCombiner; //导入依赖的package包/类
@Override
public Optional<MessageCombiner<TraverserSet<Object>>> getMessageCombiner() {
return (Optional) TraversalVertexProgramMessageCombiner.instance();
}
示例7: setConf
import org.apache.tinkerpop.gremlin.process.computer.MessageCombiner; //导入依赖的package包/类
@Override
public void setConf(final ImmutableClassesGiraphConfiguration configuration) {
this.configuration = configuration;
final Configuration apacheConfiguration = ConfUtil.makeApacheConfiguration(configuration);
this.messageCombiner = (MessageCombiner) VertexProgram.createVertexProgram(HadoopGraph.open(apacheConfiguration), apacheConfiguration).getMessageCombiner().get();
}
示例8: ViewIncomingPayload
import org.apache.tinkerpop.gremlin.process.computer.MessageCombiner; //导入依赖的package包/类
public ViewIncomingPayload(final MessageCombiner<M> messageCombiner) {
this.incomingMessages = null == messageCombiner ? new ArrayList<>() : new ArrayList<>(1);
}
示例9: mergeMessage
import org.apache.tinkerpop.gremlin.process.computer.MessageCombiner; //导入依赖的package包/类
private void mergeMessage(final M message, final MessageCombiner<M> messageCombiner) {
if (this.incomingMessages.isEmpty() || null == messageCombiner)
this.incomingMessages.add(message);
else
this.incomingMessages.set(0, messageCombiner.combine(this.incomingMessages.get(0), message));
}
示例10: getMessageCombiner
import org.apache.tinkerpop.gremlin.process.computer.MessageCombiner; //导入依赖的package包/类
@Override
public Optional<MessageCombiner<Long>> getMessageCombiner() {
return (Optional) ShortestDistanceMessageCombiner.instance();
}
示例11: getMessageCombiner
import org.apache.tinkerpop.gremlin.process.computer.MessageCombiner; //导入依赖的package包/类
public static<M> MessageCombiner<M> getMessageCombiner(VertexProgram<M> program) {
return program.getMessageCombiner().orElse(DEFAULT_COMBINER);
}
示例12: DuctileMessenger
import org.apache.tinkerpop.gremlin.process.computer.MessageCombiner; //导入依赖的package包/类
public DuctileMessenger(Vertex vertex, DuctileMessageBoard<M> messageBoard, Optional<MessageCombiner<M>> combiner) {
this.vertex = vertex;
this.messageBoard = messageBoard;
this.combiner = combiner.isPresent() ? combiner.get() : null;
}