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 appsDefaultAppBase
andDefaultAppBase
.
-
-
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") boolean
getPureMessage(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> void
sendToFragment(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.
-
-