コード例 #1
0
ファイル: Client.cs プロジェクト: bjorndaniel/DTLS.Net
 private void ProcessRecords()
 {
     while (!_Terminate)
     {
         _TriggerProcessRecords.Reset();
         DTLSRecord record = _Records.PeekRecord();
         while (record != null)
         {
             if (_ServerEpoch.HasValue)
             {
                 if ((_ServerSequenceNumber == record.SequenceNumber) && (_ServerEpoch == record.Epoch))
                 {
                     _Records.RemoveRecord();
                     ProcessRecord(record);
                     record = _Records.PeekRecord();
                 }
                 else
                 {
                     record = null;
                 }
             }
             else
             {
                 _Records.RemoveRecord();
                 ProcessRecord(record);
                 record = _Records.PeekRecord();
             }
         }
         if (!_Terminate)
         {
             _TriggerProcessRecords.WaitOne();
         }
     }
 }