/** * Create and <b>start</b> the retransmitter * * @param cmd the callback object for retranmissions * @param sched the external scheduler to use to schedule retransmissions * * @throws IllegalArgumentException if <code>cmd</code> is null */ public AckMcastSenderWindow(RetransmitCommand cmd, TimeScheduler sched) { init(cmd, RETRANSMIT_TIMEOUTS, sched, false); }
/** * Create and <b>start</b> the retransmitter * * @param cmd the callback object for retranmissions * @param retransmit_intervals the interval between two consecutive * retransmission attempts * @param sched the external scheduler to use to schedule retransmissions * * @throws IllegalArgumentException if <code>cmd</code> is null */ public AckMcastSenderWindow(RetransmitCommand cmd, long[] retransmit_intervals, TimeScheduler sched) { init(cmd, retransmit_intervals, sched, false); }
/** * Create and <b>start</b> the retransmitter * * @param cmd the callback object for retranmissions * @param retransmit_intervals the interval between two consecutive * retransmission attempts * * @throws IllegalArgumentException if <code>cmd</code> is null */ public AckMcastSenderWindow(RetransmitCommand cmd, long[] retransmit_intervals) { init(cmd, retransmit_intervals, new TimeScheduler(SUSPEND_TIMEOUT), true); }