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
)