Пример #1
0
        public AckSenderWindow(AckSenderWindow.RetransmitCommand com, long[] interval, ILogger NCacheLog)
		{
            //this.nTrace = nTrace;
            _ncacheLog = NCacheLog;
            InitBlock();
			retransmit_command = com;
			this.interval = interval;
			retransmitter.RetransmitTimeouts = interval;
		}
Пример #2
0
			internal Entry(AckSenderWindow enclosingInstance, long seqno, Message msg)
			{
				InitBlock(enclosingInstance);
				this.seqno = seqno;
				this.msg = msg;
			}
Пример #3
0
			private void  InitBlock(AckSenderWindow enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
Пример #4
0
 internal AckSenderWindowEntry(AckSenderWindow enclosingInstance, long seqno, Message msg)
 {
     InitBlock(enclosingInstance);
     this.seqno = seqno;
     this.msg   = msg;
 }
Пример #5
0
 private void InitBlock(AckSenderWindow enclosingInstance)
 {
     this.enclosingInstance = enclosingInstance;
 }
Пример #6
0
        /// <summary> Prepare this layer to receive messages from above</summary>
        public override void start()
        {
            TimeScheduler timer;

            // Incase of TCP stack we'll get a reference to TCP, which is the transport
            // protocol in our case. For udp stack we'll fail.
            transport = Stack.findProtocol("TCP");

            

            reqTbl = Hashtable.Synchronized(new Hashtable());
            upTbl = Hashtable.Synchronized(new Hashtable());

            //======================================================
            _mcastReqTbl = Hashtable.Synchronized(new Hashtable());
            _mcastUpTbl = Hashtable.Synchronized(new Hashtable());
            //======================================================

            
            retransmitter = new AckSenderWindow(new Command(this), AVG_RETRANSMIT_INTERVAL, stack.NCacheLog);
            _mcastRetransmitter = new AckSenderWindow(new MCastCommand(this), AVG_MCAST_RETRANSMIT_INTERVAL, stack.NCacheLog);
        }