Apache.NMS.ActiveMQ.Util.FifoMessageDispatchChannel.RemoveAll C# (CSharp) Method

RemoveAll() public method

public RemoveAll ( ) : Apache.NMS.ActiveMQ.Commands.MessageDispatch[]
return Apache.NMS.ActiveMQ.Commands.MessageDispatch[]
        public MessageDispatch[] RemoveAll()
        {
            MessageDispatch[] result;

            lock(mutex)
            {
                result = new MessageDispatch[this.Count];
                channel.CopyTo(result, 0);
                channel.Clear();
            }

            return result;
        }

Usage Example

 public void TestRemoveAll() 
 {
     FifoMessageDispatchChannel channel = new FifoMessageDispatchChannel();
 
     MessageDispatch dispatch1 = new MessageDispatch();
     MessageDispatch dispatch2 = new MessageDispatch();
     MessageDispatch dispatch3 = new MessageDispatch();
 
     channel.Enqueue( dispatch1 );
     channel.Enqueue( dispatch2 );
     channel.Enqueue( dispatch3 );
 
     channel.Start();
     Assert.IsTrue( channel.Running == true );
     Assert.IsTrue( channel.Empty == false );
     Assert.IsTrue( channel.Count == 3 );
     Assert.IsTrue( channel.RemoveAll().Length == 3 );
     Assert.IsTrue( channel.Count == 0 );
     Assert.IsTrue( channel.Empty == true );
 }