Package com.alibaba.graphscope.utils
Interface MessageStore<T>
-
- Type Parameters:
T
- type
- All Superinterfaces:
PrimitiveArray<T>
,Serializable
- All Known Implementing Classes:
AbstractMessageStore
,DoubleMessageStore
,IntMessageStore
,LongMessageStore
,ObjectMessageStore
public interface MessageStore<T> extends PrimitiveArray<T>
Message store with bitset indicating validity.
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addMessages(scala.collection.Iterator<scala.Tuple2<Long,T>> msgs, int threadId, com.alibaba.graphscope.graphx.graph.GSEdgeTripletImpl triplet, IFragment<Long,Long,?,?> fragment, int srcLid, int dstLid)
static <T> MessageStore<T>
create(int len, int fnum, int numCores, Class<? extends T> clz, scala.Function2<T,T,T> function2, ThreadSafeBitSet nextSet, GraphXConf<?,?,?> conf, int ivnum)
long
digest(IFragment<Long,Long,?,?> fragment, MessageInBuffer messageInBuffer, ThreadSafeBitSet curSet, int threadId)
to digest message send along edges, which should be resolved via GetMessages.void
digest(IFragment<Long,Long,?,?> fragment, FFIByteVector vector, ThreadSafeBitSet curSet, int threadId)
void
flushMessages(ThreadSafeBitSet nextSet, ParallelMessageManager messageManager, IFragment<Long,Long,?,?> fragment, int[] fid2WorkerId, ExecutorService executorService)
<MSG_T> void
sendMsgThroughIEdges(Vertex<Long> vertex, MSG_T msg, int threadId, ParallelMessageManager messageManager, IFragment<Long,Long,?,?> fragment)
Send msg through iedges, use this function rather than message manager provided to speed up.
-
-
-
Method Detail
-
sendMsgThroughIEdges
<MSG_T> void sendMsgThroughIEdges(Vertex<Long> vertex, MSG_T msg, int threadId, ParallelMessageManager messageManager, IFragment<Long,Long,?,?> fragment)
Send msg through iedges, use this function rather than message manager provided to speed up. The MSG_T can be different from T
-
addMessages
void addMessages(scala.collection.Iterator<scala.Tuple2<Long,T>> msgs, int threadId, com.alibaba.graphscope.graphx.graph.GSEdgeTripletImpl triplet, IFragment<Long,Long,?,?> fragment, int srcLid, int dstLid) throws InterruptedException
- Throws:
InterruptedException
-
flushMessages
void flushMessages(ThreadSafeBitSet nextSet, ParallelMessageManager messageManager, IFragment<Long,Long,?,?> fragment, int[] fid2WorkerId, ExecutorService executorService) throws IOException
- Throws:
IOException
-
digest
void digest(IFragment<Long,Long,?,?> fragment, FFIByteVector vector, ThreadSafeBitSet curSet, int threadId)
-
digest
long digest(IFragment<Long,Long,?,?> fragment, MessageInBuffer messageInBuffer, ThreadSafeBitSet curSet, int threadId)
to digest message send along edges, which should be resolved via GetMessages.
-
create
static <T> MessageStore<T> create(int len, int fnum, int numCores, Class<? extends T> clz, scala.Function2<T,T,T> function2, ThreadSafeBitSet nextSet, GraphXConf<?,?,?> conf, int ivnum) throws IOException
- Throws:
IOException
-
-