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

EnqueueFirst() public method

public EnqueueFirst ( MessageDispatch dispatch ) : void
dispatch Apache.NMS.ActiveMQ.Commands.MessageDispatch
return void
        public void EnqueueFirst(MessageDispatch dispatch)
        {
            lock(this.mutex)
            {
                this.channel.AddFirst(dispatch);
                Monitor.Pulse(this.mutex);
            }
        }

Usage Example

 public void TestEnqueueFront() 
 {
     FifoMessageDispatchChannel channel = new FifoMessageDispatchChannel();
     MessageDispatch dispatch1 = new MessageDispatch();
     MessageDispatch dispatch2 = new MessageDispatch();
 
     channel.Start();
 
     Assert.IsTrue( channel.Empty == true );
     Assert.IsTrue( channel.Count == 0 );
 
     channel.EnqueueFirst( dispatch1 );
 
     Assert.IsTrue( channel.Empty == false );
     Assert.IsTrue( channel.Count == 1 );
 
     channel.EnqueueFirst( dispatch2 );
 
     Assert.IsTrue( channel.Empty == false );
     Assert.IsTrue( channel.Count == 2 );
 
     Assert.IsTrue( channel.DequeueNoWait() == dispatch2 );
     Assert.IsTrue( channel.DequeueNoWait() == dispatch1 );
 }