示例#1
0
 private void HandleConfirmation(StarNetPacket packet)
 {
     lock (NetworkLock)
     {
         for (int i = 0; i < PacketRetryList.Count; i++)
         {
             if (PacketRetryList[i].Transaction == packet.Transaction)
             {
                 PacketRetryList[i].OnConfirmationReceived();
                 PacketRetryList.RemoveAt(i);
                 break;
             }
         }
     }
 }
示例#2
0
 private void DoRetries(object discarded)
 {
     lock (NetworkLock)
     {
         for (int i = 0; i < PacketRetryList.Count; i++)
         {
             if (PacketRetryList[i].ScheduledRetry < DateTime.Now)
             {
                 var packet = PacketRetryList[i];
                 PacketRetryList.RemoveAt(i--);
                 packet.Retries++;
                 Send(packet, packet.Destination);
             }
         }
     }
 }