public abstract class CommunicationGroup extends java.lang.Object implements java.lang.Comparable<CommunicationGroup>
| Modifier and Type | Class and Description |
|---|---|
static class |
CommunicationGroup.Recursive
A communication group representing either
(1) a single node where the node is a monotonicity aware one
(2) a set of nodes that form an SCC
|
static class |
CommunicationGroup.Singleton
A communication group containing only a single node with a single default mailbox.
|
| Modifier and Type | Field and Description |
|---|---|
protected int |
identifier
May be changed during bumping in
CommunicationTracker.registerDependency |
boolean |
isEnqueued
Marker for the
CommunicationTracker |
protected Node |
representative |
| Constructor and Description |
|---|
CommunicationGroup(Node representative,
int identifier) |
| Modifier and Type | Method and Description |
|---|---|
abstract void |
addRederivable(RederivableNode node) |
int |
compareTo(CommunicationGroup that) |
abstract void |
deliverMessages() |
boolean |
equals(java.lang.Object obj) |
abstract java.util.Map<MessageKind,java.util.Collection<Mailbox>> |
getMailboxes() |
abstract java.util.Collection<RederivableNode> |
getRederivables() |
Node |
getRepresentative() |
int |
hashCode() |
abstract boolean |
isEmpty() |
abstract void |
notifyHasMessage(Mailbox mailbox,
MessageKind kind) |
abstract void |
notifyLostAllMessages(Mailbox mailbox,
MessageKind kind) |
abstract void |
removeRederivable(RederivableNode node) |
java.lang.String |
toString() |
public boolean isEnqueued
CommunicationTrackerprotected final Node representative
protected int identifier
CommunicationTracker.registerDependencypublic CommunicationGroup(Node representative, int identifier)
public abstract void deliverMessages()
public Node getRepresentative()
public abstract boolean isEmpty()
public abstract void notifyLostAllMessages(Mailbox mailbox, MessageKind kind)
public abstract void notifyHasMessage(Mailbox mailbox, MessageKind kind)
public abstract void addRederivable(RederivableNode node)
public abstract void removeRederivable(RederivableNode node)
public abstract java.util.Map<MessageKind,java.util.Collection<Mailbox>> getMailboxes()
public abstract java.util.Collection<RederivableNode> getRederivables()
public int hashCode()
hashCode in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Objectpublic boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic int compareTo(CommunicationGroup that)
compareTo in interface java.lang.Comparable<CommunicationGroup>