Brunet.Concurrent.Channel.Dequeue C# (CSharp) Method

Dequeue() public method

public Dequeue ( ) : object
return object
  public virtual object Dequeue() {
    object result = _queue.Dequeue();
    Interlocked.Decrement(ref _count);
    return result;
  }

Usage Example

Example #1
0
    override public void Start()
    {
      Channel returns = new Channel();
      returns.EnqueueEvent += delegate(object o, EventArgs ea) {
        while(returns.Count > 0) {
          Hashtable result = null;
          try {
            result = returns.Dequeue() as Hashtable;
          } catch {
            continue;
          }

          byte[] res = result["value"] as byte[];
          if(res != null) {
            Results.Enqueue(MemBlock.Reference(res));
          }
        }
        if(_enqueue != null) {
          _enqueue(this, EventArgs.Empty);
        }
      };

      returns.CloseEvent += delegate(object o, EventArgs ea) {
        Finished();
      };

      Dht dht = new Dht(Node, 3, 20);
      dht.AsyncGet(Key, returns);
    }
All Usage Examples Of Brunet.Concurrent.Channel::Dequeue