Interface DefaultMessageManager

    • 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.