Package com.alibaba.graphscope.parallel
Interface DefaultMessageManager
- 
- All Superinterfaces:
 com.alibaba.fastffi.FFIPointer,FFIType,MessageManagerBase,Serializable
- All Known Subinterfaces:
 DefaultMessageManagerGen
- All Known Implementing Classes:
 DefaultMessageManagerGen_cxx_0xb936493c
public interface DefaultMessageManager extends MessageManagerBase
The default message manager, used in serial appsDefaultAppBaseandDefaultAppBase. 
- 
- 
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default <FRAG_T extends IFragment,MSG_T,SKIP_T>
booleangetMessage(FRAG_T frag, Vertex<Long> vertex, MSG_T msg, SKIP_T skip)<FRAG_T extends ArrowProjectedFragment,MSG_T,SKIP_T>
@com.alibaba.fastffi.FFINameAlias("GetMessage") booleangetMessageArrowProjected(FRAG_T frag, Vertex<Long> vertex, MSG_T msg, SKIP_T skip)Get the message received for specified vertex during last super step.<FRAG_T extends ImmutableEdgecutFragment,MSG_T>
@com.alibaba.fastffi.FFINameAlias("GetMessage") booleangetMessageImmutable(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)Get the message received for specified vertex during last super step.<MSG_T> @com.alibaba.fastffi.FFINameAlias("GetMessage") booleangetPureMessage(MSG_T msg)Get message into target MSG_T.default <FRAG_T extends IFragment,MSG_T>
booleansendMsgThroughEdges(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)<FRAG_T extends ArrowProjectedFragment,MSG_T>
voidsendMsgThroughEdgesArrowProjected(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)Send the a vertex's data to other fragment through incoming and outgoing edges.<FRAG_T extends ImmutableEdgecutFragment,MSG_T>
voidsendMsgThroughEdgesImmutable(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)Send the a vertex's data to other fragment through incoming and outgoing edges.default <FRAG_T extends IFragment,MSG_T>
booleansendMsgThroughIEdges(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)<FRAG_T extends ArrowProjectedFragment,MSG_T>
voidsendMsgThroughIEdgesArrowProjected(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)Send the a vertex's data to other fragment through incoming edges.<FRAG_T extends ImmutableEdgecutFragment,MSG_T>
voidsendMsgThroughIEdgesImmutable(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)Send the a vertex's data to other fragment through incoming edges.default <FRAG_T extends IFragment,MSG_T>
booleansendMsgThroughOEdges(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)<FRAG_T extends ArrowProjectedFragment,MSG_T>
voidsendMsgThroughOEdgesArrowProjected(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)Send the a vertex's data to other fragment through outgoing edges.<FRAG_T extends ImmutableEdgecutFragment,MSG_T>
voidsendMsgThroughOEdgesImmutable(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)Send the a vertex's data to other fragment through outgoing edges.<MSG_T> voidsendToFragment(int dst_fid, MSG_T msg)Send a message to Immutable fragment.default <FRAG_T extends IFragment,MSG_T>
booleansyncStateOnOuterVertex(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)<FRAG_T extends ArrowProjectedFragment,MSG_T>
voidsyncStateOnOuterVertexArrowProjected(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)Send a msg to the fragment where the querying outer vertex is an inner vertex.<FRAG_T extends ImmutableEdgecutFragment,MSG_T>
voidsyncStateOnOuterVertexImmutable(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)Send a msg to the fragment where the querying outer vertex is an inner vertex.- 
Methods inherited from interface com.alibaba.graphscope.parallel.MessageManagerBase
finishARound, forceContinue, getMsgSize, start, startARound, toTerminate 
 - 
 
 - 
 
- 
- 
Method Detail
- 
getMessage
default <FRAG_T extends IFragment,MSG_T,SKIP_T> boolean getMessage(FRAG_T frag, Vertex<Long> vertex, MSG_T msg, SKIP_T skip)
 
- 
sendMsgThroughEdges
default <FRAG_T extends IFragment,MSG_T> boolean sendMsgThroughEdges(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)
 
- 
sendMsgThroughOEdges
default <FRAG_T extends IFragment,MSG_T> boolean sendMsgThroughOEdges(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)
 
- 
syncStateOnOuterVertex
default <FRAG_T extends IFragment,MSG_T> boolean syncStateOnOuterVertex(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)
 
- 
sendMsgThroughIEdges
default <FRAG_T extends IFragment,MSG_T> boolean sendMsgThroughIEdges(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)
 
- 
sendToFragment
<MSG_T> void sendToFragment(int dst_fid, MSG_T msg)Send a message to Immutable fragment.- Type Parameters:
 MSG_T- msg type- Parameters:
 msg- msg to send
 
- 
getPureMessage
<MSG_T> @com.alibaba.fastffi.FFINameAlias("GetMessage") boolean getPureMessage(MSG_T msg)Get message into target MSG_T.- Parameters:
 msg- received msg.- Returns:
 
 
- 
getMessageImmutable
<FRAG_T extends ImmutableEdgecutFragment,MSG_T> @com.alibaba.fastffi.FFINameAlias("GetMessage") boolean getMessageImmutable(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)
Get the message received for specified vertex during last super step.- Type Parameters:
 FRAG_T- frag type.MSG_T- msg type.- Parameters:
 frag- bound fragment.vertex- querying vertex.msg- msg place hold.- Returns:
 - true if really got a message.
 
 
- 
getMessageArrowProjected
<FRAG_T extends ArrowProjectedFragment,MSG_T,SKIP_T> @com.alibaba.fastffi.FFINameAlias("GetMessage") boolean getMessageArrowProjected(FRAG_T frag, Vertex<Long> vertex, MSG_T msg, SKIP_T skip)
Get the message received for specified vertex during last super step.- Type Parameters:
 FRAG_T- frag type.MSG_T- msg type.- Parameters:
 frag- bound fragment.vertex- querying vertex.msg- msg place hold.- Returns:
 - true if really got a message.
 
 
- 
syncStateOnOuterVertexImmutable
<FRAG_T extends ImmutableEdgecutFragment,MSG_T> void syncStateOnOuterVertexImmutable(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)
Send a msg to the fragment where the querying outer vertex is an inner vertex.- Type Parameters:
 FRAG_T- fragment type.MSG_T- message type.- Parameters:
 frag- fragment.vertex- querying vertex.msg- msg to send.
 
- 
syncStateOnOuterVertexArrowProjected
<FRAG_T extends ArrowProjectedFragment,MSG_T> void syncStateOnOuterVertexArrowProjected(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)
Send a msg to the fragment where the querying outer vertex is an inner vertex.- Type Parameters:
 FRAG_T- fragment type.MSG_T- message type.- Parameters:
 frag- fragment.vertex- querying vertex.msg- msg to send.
 
- 
sendMsgThroughOEdgesImmutable
<FRAG_T extends ImmutableEdgecutFragment,MSG_T> void sendMsgThroughOEdgesImmutable(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)
Send the a vertex's data to other fragment through outgoing edges.- Type Parameters:
 FRAG_T- fragment type.MSG_T- message type.- Parameters:
 frag- ImmutableEdgeCutFragment.vertex- querying vertex.msg- msg to send.
 
- 
sendMsgThroughOEdgesArrowProjected
<FRAG_T extends ArrowProjectedFragment,MSG_T> void sendMsgThroughOEdgesArrowProjected(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)
Send the a vertex's data to other fragment through outgoing edges.- Type Parameters:
 FRAG_T- fragment type.MSG_T- message type.- Parameters:
 frag- ArrowProjectedFragment.vertex- querying vertex.msg- msg to send.
 
- 
sendMsgThroughIEdgesImmutable
<FRAG_T extends ImmutableEdgecutFragment,MSG_T> void sendMsgThroughIEdgesImmutable(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)
Send the a vertex's data to other fragment through incoming edges.- Type Parameters:
 FRAG_T- fragment type.MSG_T- message type.- Parameters:
 frag- ImmutableEdgecutFragment.vertex- querying vertex.msg- msg to send.
 
- 
sendMsgThroughIEdgesArrowProjected
<FRAG_T extends ArrowProjectedFragment,MSG_T> void sendMsgThroughIEdgesArrowProjected(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)
Send the a vertex's data to other fragment through incoming edges.- Type Parameters:
 FRAG_T- fragment type.MSG_T- message type.- Parameters:
 frag- ArrowProjectedFragment.vertex- querying vertex.msg- msg to send.
 
- 
sendMsgThroughEdgesImmutable
<FRAG_T extends ImmutableEdgecutFragment,MSG_T> void sendMsgThroughEdgesImmutable(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)
Send the a vertex's data to other fragment through incoming and outgoing edges.- Type Parameters:
 FRAG_T- fragment type.MSG_T- message type.- Parameters:
 frag- ImmutableEdgeCutFragment.vertex- querying vertex.msg- msg to send.
 
- 
sendMsgThroughEdgesArrowProjected
<FRAG_T extends ArrowProjectedFragment,MSG_T> void sendMsgThroughEdgesArrowProjected(FRAG_T frag, Vertex<Long> vertex, MSG_T msg)
Send the a vertex's data to other fragment through incoming and outgoing edges.- Type Parameters:
 FRAG_T- fragment type.MSG_T- message type.- Parameters:
 frag- ArrowProjectedFragment.vertex- querying vertex.msg- msg to send.
 
 - 
 
 -