Example #1
0
 public OrderedMessage GetMessage(int num)
 {
     if (!queue.TryGetValue(num, out var message))
     {
         lock (queue)
         {
             if (!queue.TryGetValue(num, out message))
             {
                 message = new OrderedMessage(num);
                 queue.AddOrUpdate(num, message, (a, b) => message);
             }
         }
     }
     return(message);
 }
Example #2
0
 public void RemoveMessage(OrderedMessage msg)
 {
     queue.TryRemove(msg.Number, out var orderedMessage);
 }