Rhino.Queues.Storage.GlobalActions.MarkAllProcessedMessagesWithTransactionsNotRegisterForRecoveryAsReadyToDeliver C# (CSharp) Метод

MarkAllProcessedMessagesWithTransactionsNotRegisterForRecoveryAsReadyToDeliver() публичный Метод

        public void MarkAllProcessedMessagesWithTransactionsNotRegisterForRecoveryAsReadyToDeliver()
        {
            var txsWithRecovery = new HashSet<Guid>();
            Api.MoveBeforeFirst(session, recovery);
            while (Api.TryMoveNext(session, recovery))
            {
                var idAsBytes = Api.RetrieveColumn(session, recovery, ColumnsInformation.RecoveryColumns["tx_id"]);
                txsWithRecovery.Add(new Guid(idAsBytes));
            }

            var txsWithoutRecovery = new HashSet<Guid>();
            Api.MoveBeforeFirst(session, txs);
            while (Api.TryMoveNext(session, txs))
            {
                var idAsBytes = Api.RetrieveColumn(session, txs, ColumnsInformation.RecoveryColumns["tx_id"]);
                txsWithoutRecovery.Add(new Guid(idAsBytes));
            }

            foreach (var txId in txsWithoutRecovery)
            {
                if (txsWithRecovery.Contains(txId))
                    continue;
                ReverseAllFrom(txId);
            }
        }