Rhino.Queues.QueueManager.GetMessageFromQueue C# (CSharp) Method

GetMessageFromQueue() private method

private GetMessageFromQueue ( ITransaction transaction, string queueName, string subqueue ) : Rhino.Queues.Model.PersistentMessage
transaction ITransaction
queueName string
subqueue string
return Rhino.Queues.Model.PersistentMessage
        private PersistentMessage GetMessageFromQueue(ITransaction transaction, string queueName, string subqueue)
        {
            AssertNotDisposedOrDisposing();
            PersistentMessage message = null;
            queueStorage.Global(actions =>
            {
                message = actions.GetQueue(queueName).Dequeue(subqueue);

                if (message != null)
                {
                    actions.RegisterUpdateToReverse(
                        transaction.Id,
                        message.Bookmark,
                        MessageStatus.ReadyToDeliver,
                        subqueue);
                }

                actions.Commit();
            });
            return message;
        }