Rhino.Queues.Internal.QueuedMessagesSender.OnFailure C# (CSharp) Method

OnFailure() private method

private OnFailure ( Rhino.Queues.Protocol.Endpoint endpoint, IEnumerable messages ) : Action
endpoint Rhino.Queues.Protocol.Endpoint
messages IEnumerable
return Action
        private Action<Exception> OnFailure(Endpoint endpoint, IEnumerable<PersistentMessage> messages)
        {
            return exception =>
            {
                try
                {
                    queueStorage.Send(actions =>
                        {
                            foreach (var message in messages)
                            {
                                actions.MarkOutgoingMessageAsFailedTransmission(message.Bookmark,
                                                                                exception is QueueDoesNotExistsException);
                            }

                            actions.Commit();
                            queueManager.FailedToSendTo(endpoint);
                        });
                }
                finally
                {
                    Interlocked.Decrement(ref currentlySendingCount);
                }
            };
        }