public AckSenderWindow(AckSenderWindow.RetransmitCommand com, long[] interval, ILogger NCacheLog) { //this.nTrace = nTrace; _ncacheLog = NCacheLog; InitBlock(); retransmit_command = com; this.interval = interval; retransmitter.RetransmitTimeouts = interval; }
internal Entry(AckSenderWindow enclosingInstance, long seqno, Message msg) { InitBlock(enclosingInstance); this.seqno = seqno; this.msg = msg; }
private void InitBlock(AckSenderWindow enclosingInstance) { this.enclosingInstance = enclosingInstance; }
internal AckSenderWindowEntry(AckSenderWindow enclosingInstance, long seqno, Message msg) { InitBlock(enclosingInstance); this.seqno = seqno; this.msg = msg; }
private void InitBlock(AckSenderWindow enclosingInstance) { this.enclosingInstance = enclosingInstance; }
/// <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); }