예제 #1
0
        public override void Upkeep()
        {
            InternalChannel.Upkeep();
            int    maxAcks = 1;
            ushort sequenceNumber;

            while (_pendingAcksQueue.Count > 0 && maxAcks > 0)
            {
                maxAcks--;
                sequenceNumber = _pendingAcksQueue.Dequeue();
                byte[] ackData = new byte[] { 0xff, 0xff, 0, 0 };
                Array.Copy(BitConverter.GetBytes(sequenceNumber), 0, ackData, 2, 2);
                Send(ackData);
            }
        }
예제 #2
0
 public override byte[] GetNextOutgoingData()
 {
     return(_sendQueue.Dequeue());
 }
예제 #3
0
 public override byte[] GetNextIncomingData()
 {
     return(_receiveQueue.Dequeue());
 }