/** * Creates a new instance with the given retransmit command * * @param sender The sender associated with this instance * @param cmd The command used to retransmit a missing message, will * be invoked by the table. If null, the retransmit thread will not be * started * @param start_seqno The first sequence number to be received * @param sched the external scheduler to use for retransmission * requests of missing msgs. If it's not provided or is null, an internal * one is created */ public NakReceiverWindow(Address sender, Retransmitter.RetransmitCommand cmd, long start_seqno, TimeScheduler sched) { head=start_seqno; tail=head; if(cmd != null) retransmitter=sched == null ? new Retransmitter(sender, cmd) : new Retransmitter(sender, cmd, sched); }
/** * Creates a new instance. Thre retransmission thread has to be started separately with * <code>start()</code>. * @param com If not null, its method <code>retransmit()</code> will be called when a message * needs to be retransmitted (called by the Retransmitter). */ public AckSenderWindow(RetransmitCommand com) { retransmit_command = com; retransmitter = new Retransmitter(null, this); retransmitter.setRetransmitTimeouts(interval); }
public AckSenderWindow(RetransmitCommand com, long[] interval, TimeScheduler sched) { retransmit_command = com; this.interval = interval; retransmitter = new Retransmitter(null, this, sched); retransmitter.setRetransmitTimeouts(interval); }
public AckSenderWindow(RetransmitCommand com, long[] interval) { retransmit_command = com; this.interval = interval; retransmitter = new Retransmitter(null, this); retransmitter.setRetransmitTimeouts(interval); }