All Packages Class Hierarchy This Package Previous Next Index
Class JavaGroups.JavaStack.Protocols.MACK
java.lang.Object
|
+----JavaGroups.JavaStack.Protocol
|
+----JavaGroups.JavaStack.Protocols.MACK
- public class MACK
- extends Protocol
Multicast ACKnowledgement protocol layer. For each message sent, we expect
ACKs from all group members. When an ACK from a member has not been received for a certain time,
the message will be resent to that member. If, after n retries, no ACK has been received,
the member is suspected.
If the view changes while waiting for ACKs, the list of members from which ACKs are expected is
changed correspondingly.
Currently implemented without sliding window; all ACKs for a request have to be received before
a new request can be sent, which is not very efficient ! TODO: implement sliding window, this allows
multiple send requests to be processed at once (depending on the window size).
Use this protocol when
- size of the group is relatively small
- not too many messages are sent
The properties guaranteed by the protocol are
- no message is lost
- if a receiver does not respond, it will be excluded from the group
- the messages from a sender to receiver are received in FIFO order
-
MACK()
-
-
Down(Event)
- An event is to be sent down the stack.
-
GetName()
-
-
SetProperties(Properties)
- Configures the protocol initially.
-
Up(Event)
- An event was received from the layer below.
MACK
public MACK()
GetName
public String GetName()
- Overrides:
- GetName in class Protocol
SetProperties
public boolean SetProperties(Properties props)
- Configures the protocol initially.
- Overrides:
- SetProperties in class Protocol
Up
public void Up(Event evt)
- An event was received from the layer below.
- Overrides:
- Up in class Protocol
Down
public void Down(Event evt)
- An event is to be sent down the stack.
- Overrides:
- Down in class Protocol
All Packages Class Hierarchy This Package Previous Next Index