Ejemplo n.º 1
0
        public void Handle(ReplicationMessage.TransactionCommitRequestCreated message)
        {
            var manager = new TransactionCommitTwoPhaseRequestManager(_bus, _prepareCount, _commitCount);

            _currentRequests.Add(message.CorrelationId, manager);
            manager.Handle(message);
        }
Ejemplo n.º 2
0
        public void Handle(ReplicationMessage.TransactionCommitRequestCreated request)
        {
            if (_initialized)
            {
                throw new InvalidOperationException();
            }

            _initialized      = true;
            _requestType      = RequestType.TransactionCommit;
            _responseEnvelope = request.Envelope;
            _correlationId    = request.CorrelationId;
            _preparePos       = request.TransactionId;

            _bus.Publish(new ReplicationMessage.WriteTransactionPrepare(request.CorrelationId, _publishEnvelope, request.TransactionId, request.EventStreamId));
            _bus.Publish(TimerMessage.Schedule.Create(PrepareTimeout, _publishEnvelope, new ReplicationMessage.PreparePhaseTimeout(_correlationId)));
        }