org.jgroups.protocols
public class UNICAST extends Protocol implements AckSenderWindow.RetransmitCommand
This
layer is used to reliably transmit point-to-point messages, that is, either messages sent to a
single receiver (vs. messages multicast to a group) or for example replies to a multicast message. The
sender uses an AckSenderWindow
which retransmits messages for which it hasn't received
an ACK, the receiver uses AckReceiverWindow
which keeps track of the lowest seqno
received so far, and keeps messages in order.
Messages in both AckSenderWindows and AckReceiverWindows will be removed. A message will be removed from AckSenderWindow when an ACK has been received for it and messages will be removed from AckReceiverWindow whenever a message is received: the new message is added and then we try to remove as many messages as possible (until we stop at a gap, or there are no more messages).
Nested Class Summary | |
---|---|
static class | UNICAST.UnicastHeader |
Method Summary | |
---|---|
void | down(Event evt) |
Map | dumpStats() |
String | getLocalAddress() |
String | getMembers() |
String | getName() All protocol names have to be unique ! |
long | getNumAcksReceived() |
long | getNumAcksSent() |
long | getNumberOfRetransmitRequestsReceived() |
int | getNumberOfUnackedMessages() The number of messages in all Entry.sent_msgs tables (haven't received an ACK yet) |
long | getNumBytesReceived() |
long | getNumBytesSent() |
long | getNumMessagesReceived() |
long | getNumMessagesSent() |
String | printConnections() |
void | resetStats() |
void | retransmit(long seqno, Message msg) Called by AckSenderWindow to resend messages for which no ACK has been received yet |
boolean | setProperties(Properties props) |
void | start() |
void | stop() |
void | up(Event evt) |