Ejemplo n.º 1
0
 public void Add(RCSymbolScalar id, RCValue message)
 {
     lock (_lock)
     {
         TcpCollector waiter = null;
         // Console.Out.WriteLine ("Client message in:{0}", id);
         if (_waiters.TryGetValue(id, out waiter))
         {
             _waiters.Remove(id);
             waiter.Accept(id, message);
         }
         else
         {
             _replies.Add(id, message);
         }
     }
 }
Ejemplo n.º 2
0
 public void Remove(RCSymbolScalar id, TcpCollector waiter)
 {
     lock (_lock)
     {
         RCValue message = null;
         if (_replies.TryGetValue(id, out message))
         {
             _replies.Remove(id);
             waiter.Accept(id, message);
         }
         else
         {
             _waiters.Add(id, waiter);
         }
     }
     // Console.Out.WriteLine ("Client waiting on {0}", new RCSymbol(new
     // RCArray<RCSymbolScalar>(_waiters.Keys)));
 }