Exemplo n.º 1
0
 private void processAck(PEQMessageAck msg)
 {
     PEQTableEntryMessageAck ack;
     ack = null;
     foreach (PEQTableEntryMessageAck entry in _tableAck)
     {
         if ((entry._SequenceNumber == msg._SequenceNumber) &&
             (entry._DestinationID == msg._SenderID))
         {
             ack = entry;
             break;
         }
     }
     if ((ack != null))
        _tableAck.Remove(ack);
 }
 public new object Clone()
 {
     PEQMessageAck msg = new PEQMessageAck(_DestinationID, _SenderID,
         _SequenceNumber);
     msg._nextHopCheat = _nextHopCheat;
     return msg;
 }
Exemplo n.º 3
0
        private void sendAck(PEQMessage msg)
        {
            if (msg._DestinationID == msg._SenderID)
                return;

            PEQMessageAck ackMessage = new PEQMessageAck(msg._SenderID,
                msg._DestinationID, msg._SequenceNumber);

            ackMessage._nextHopCheat = _location;   // Just add this to all msgs

            PEQTimerMessage timerEvent = new PEQTimerMessage(ackMessage,
                _eventManager.CurrentClock + _TIMER_WAIT_SEND, this);
            _eventManager.AddEvent(timerEvent);
        }