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

OnSuccess() private method

private OnSuccess ( IEnumerable messages ) : Func
messages IEnumerable
return Func
        private Func<MessageBookmark[]> OnSuccess(IEnumerable<PersistentMessage> messages)
        {
            return () =>
            {
                try
                {
                    var newBookmarks = new List<MessageBookmark>();
                    queueStorage.Send(actions =>
                    {
                        foreach (var message in messages)
                        {
                            var bookmark = actions.MarkOutgoingMessageAsSuccessfullySent(message.Bookmark);
                            newBookmarks.Add(bookmark);
                        }

                        actions.Commit();
                    });
                    return newBookmarks.ToArray();
                }
                finally
                {
                    Interlocked.Decrement(ref currentlySendingCount);
                }
            };
        }