/** * Create new incoming message value factory * @param <M> message type * @return incoming message value factory */ public <M extends Writable> MessageValueFactory<M> createIncomingMessageValueFactory() { return classes.getIncomingMessageClasses().createMessageValueFactory(this); }
/** * Create new outgoing message value factory * @param <M> message type * @return outgoing message value factory */ public <M extends Writable> MessageValueFactory<M> createOutgoingMessageValueFactory() { return classes.getOutgoingMessageClasses().createMessageValueFactory(this); }
@Override public MessageStore<I, M> newStore( MessageClasses<I, M> messageClasses) { return new ByteArrayMessagesPerVertexStore<I, M>( messageClasses.createMessageValueFactory(config), service, config); }
@Override public MessageStore<I, M> newStore( MessageClasses<I, M> messageClasses) { return new OneMessagePerVertexStore<I, M>( messageClasses.createMessageValueFactory(config), service, messageClasses.createMessageCombiner(config), config); }
private <M extends Writable> InternalMessageStore<I, M> createMessageStore( ImmutableClassesGiraphConfiguration<I, ?, ?> conf, MessageClasses<I, M> messageClasses, PartitionSplitInfo<I> partitionInfo, boolean runAllChecks ) { InternalMessageStore<I, M> messageStore = InternalWrappedMessageStore.create(conf, messageClasses, partitionInfo); if (runAllChecks) { return new InternalChecksMessageStore<I, M>( messageStore, conf, messageClasses.createMessageValueFactory(conf)); } else { return messageStore; } }
Class<M> messageClass = messageClasses.getMessageClass(); MessageValueFactory<M> messageValueFactory = messageClasses.createMessageValueFactory(conf); MessageCombiner<? super I, M> messageCombiner = messageClasses.createMessageCombiner(conf);