예제 #1
0
 public bool Exists(IMessageReceiptSignature receipt)
 {
     lock (_messages)
     {
         return(_messages.ContainsKey(receipt));
     }
 }
예제 #2
0
 private void RemoveFromMessageLookup(IMessageReceiptSignature receipt)
 {
     lock (_messages)
     {
         _messages.Remove(receipt);
     }
 }
예제 #3
0
 private void RemoveFromMessageLookup(EndPoint sender, IMessageReceiptSignature receipt)
 {
     lock (_messages)
     {
         if (_messages.TryGetValue(sender, out var kv))
         {
             kv.Remove(receipt);
         }
     }
 }
예제 #4
0
        public bool Exists(EndPoint sender, IMessageReceiptSignature receipt)
        {
            bool exists = false;

            lock (_messages)
            {
                if (_messages.TryGetValue(sender, out var kv))
                {
                    exists = kv.ContainsKey(receipt);
                }
            }
            return(exists);
        }
예제 #5
0
 private void RemoveFromTTLWithGuid(IMessageReceiptSignature receipt)
 {
     lock (_messagesWithTTL)
     {
         for (int i = 0; i < _messagesWithTTL.Count; i++)
         {
             if (_messagesWithTTL[i].message.Receipt.Equals(receipt))
             {
                 _messagesWithTTL.RemoveAt(i);
                 break;
             }
         }
     }
 }
예제 #6
0
 public void MessageConfirmed(EndPoint sender, IMessageReceiptSignature messageReceipt)
 {
     _messageRepeater.RemoveRepeatingMessage(sender, messageReceipt);
 }
예제 #7
0
 public void RemoveMessage(EndPoint sender, IMessageReceiptSignature guid)
 {
     RemoveFromMessageLookup(sender, guid);
     RemoveFromTTLWithGuid(guid);
 }
 public void MessageConfirmed(IMessageReceiptSignature messageReceipt)
 {
     _messageRepeater.RemoveRepeatingMessage(messageReceipt);
 }
 public override void Deserialize(BMSByte buffer)
 {
     ReceiptSignature = ForgeSerializer.Instance.Deserialize <IMessageReceiptSignature>(buffer);
 }
예제 #10
0
 public KeyValuePair <EndPoint, IMessage> Get(IMessageReceiptSignature receipt)
 {
     return(_messages[receipt]);
 }
예제 #11
0
 public void RemoveMessage(IMessageReceiptSignature guid)
 {
     RemoveFromMessageLookup(guid);
     RemoveFromTTLWithGuid(guid);
 }
예제 #12
0
 public void RemoveRepeatingMessage(IMessageReceiptSignature messageReceipt)
 {
     _messageRepository.RemoveMessage(messageReceipt);
 }
예제 #13
0
 public void RemoveRepeatingMessage(EndPoint sender, IMessageReceiptSignature messageReceipt)
 {
     _messageRepository.RemoveMessage(sender, messageReceipt);
 }