org.jgroups.stack
public class AckSenderWindow extends Object implements Retransmitter.RetransmitCommand
| Nested Class Summary | |
|---|---|
| interface | AckSenderWindow.RetransmitCommand |
| Constructor Summary | |
|---|---|
| AckSenderWindow(AckSenderWindow.RetransmitCommand com)
Creates a new instance. | |
| AckSenderWindow(AckSenderWindow.RetransmitCommand com, long[] interval) | |
| AckSenderWindow(AckSenderWindow.RetransmitCommand com, long[] interval, TimeScheduler sched) | |
| Method Summary | |
|---|---|
| void | ack(long seqno)
Removes the message from msgs, removing them also from retransmission. |
| void | add(long seqno, Message msg)
Adds a new message to the retransmission table. |
| static void | main(String[] args) |
| String | printDetails() |
| void | reset() |
| void | retransmit(long first_seqno, long last_seqno, Address sender) |
| int | size() |
| String | toString() |
start().Parameters: com If not null, its method retransmit() will be called when a message
needs to be retransmitted (called by the Retransmitter).
msgs, removing them also from retransmission. If
sliding window protocol is used, and was queueing, check whether we can resume adding elements.
Add all elements. If this goes above window_size, stop adding and back to queueing. Else
set queueing to false.window_size messages. If the table is
full, we add all new messages to a queue. Those will only be added once the table drains below a certain
threshold (min_threshold)