Class CommunicationGroup

  • All Implemented Interfaces:
    java.lang.Comparable<CommunicationGroup>

    public abstract class CommunicationGroup
    extends java.lang.Object
    implements java.lang.Comparable<CommunicationGroup>
    A communication group represents a set of nodes in the communication graph that form a strongly connected component.
    Since:
    1.6
    • Field Detail

      • UNSUPPORTED_MESSAGE_KIND

        public static final java.lang.String UNSUPPORTED_MESSAGE_KIND
        See Also:
        Constant Field Values
      • representative

        protected final Node representative
      • identifier

        protected int identifier
        May be changed during bumping in CommunicationTracker.registerDependency
    • Constructor Detail

      • CommunicationGroup

        public CommunicationGroup​(CommunicationTracker tracker,
                                  Node representative,
                                  int identifier)
        Since:
        1.7
    • Method Detail

      • deliverMessages

        public abstract void deliverMessages()
      • getRepresentative

        public Node getRepresentative()
      • isEmpty

        public abstract boolean isEmpty()
      • notifyLostAllMessages

        public abstract void notifyLostAllMessages​(Mailbox mailbox,
                                                   MessageSelector kind)
        Since:
        2.0
      • notifyHasMessage

        public abstract void notifyHasMessage​(Mailbox mailbox,
                                              MessageSelector kind)
        Since:
        2.0
      • getMailboxes

        public abstract java.util.Map<MessageSelector,​java.util.Collection<Mailbox>> getMailboxes()
      • isRecursive

        public abstract boolean isRecursive()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object