Ejemplo n.º 1
0
 /// <summary>
 /// Allows the intervals between retransmission to be specified.
 /// </summary>
 /// <param name="com">
 /// If not null, its method <code>retransmit()</code> will be called when a message
 /// needs to be retransmitted (called by the Retransmitter).
 /// </param>
 /// <param name="interval">Array of intervals between retransmissions</param>
 public AckSenderWindow(RetransmitCommand com, long[] interval)
 {
     retransmitter      = new Retransmitter(null, this);
     retransmit_command = com;
     this.interval      = interval;
     retransmitter.setRetransmitTimeouts(interval);
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Allows the intervals between retransmission to be specified.
 /// </summary>
 /// <param name="com">
 /// If not null, its method <code>retransmit()</code> will be called when a message
 /// needs to be retransmitted (called by the Retransmitter).
 /// </param>
 /// <param name="interval">Array of intervals between retransmissions</param>
 public AckSenderWindow(RetransmitCommand com, long[] interval)
 {
     retransmitter=new Retransmitter(null, this);
     retransmit_command=com;
     this.interval=interval;
     retransmitter.setRetransmitTimeouts(interval);
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Constructor: Creates a new instance with the given retransmit command
        /// </summary>
        /// <param name="sender">The sender associated with this instance</param>
        /// <param name="cmd">The command used to retransmit a missing message</param>
        /// <param name="start_seqno">The first sequence number to be received</param>
        /// <param name="sched">The external scheduler to use for retransmission</param>
        public NakReceiverWindow(Address sender, Retransmitter.RetransmitCommand cmd,
			long start_seqno, TimeScheduler sched)
        {
            this.sender = sender;
            this.cmd    = cmd;
            head        = start_seqno;
            tail        = head;

            if (cmd != null)
                retransmitter = sched==null ?
                                 new Retransmitter(sender, cmd):
                                 new Retransmitter(sender, cmd, sched);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Constructor: Creates a new instance with the given retransmit command
        /// </summary>
        /// <param name="sender">The sender associated with this instance</param>
        /// <param name="cmd">The command used to retransmit a missing message</param>
        /// <param name="start_seqno">The first sequence number to be received</param>
        /// <param name="sched">The external scheduler to use for retransmission</param>
        public NakReceiverWindow(Address sender, Retransmitter.RetransmitCommand cmd,
                                 long start_seqno, TimeScheduler sched)
        {
            this.sender = sender;
            this.cmd    = cmd;
            head        = start_seqno;
            tail        = head;

            if (cmd != null)
            {
                retransmitter = sched == null ?
                                new Retransmitter(sender, cmd):
                                new Retransmitter(sender, cmd, sched);
            }
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Constructor: Creates a new instance with the given retransmit command
 /// </summary>
 /// <param name="sender">The sender associated with this instance</param>
 /// <param name="cmd">The command used to retransmit a missing message</param>
 /// <param name="start_seqno">The first sequence number to be received</param>
 public NakReceiverWindow(Address sender, Retransmitter.RetransmitCommand cmd, long start_seqno)
     : this(sender, cmd, start_seqno, null)
 {
 }