protected void SetDurableCoordinatorActive(MsgRegisterDurableResponseEvent e) { CoordinatorEnlistment coordinator = e.Coordinator; coordinator.SetCoordinatorProxy(e.Proxy); coordinator.OnDurableCoordinatorActive(); if (RegisterCoordinatorRecord.ShouldTrace) { RegisterCoordinatorRecord.Trace(coordinator.EnlistmentId, coordinator.SuperiorContext, ControlProtocol.Durable2PC, e.Proxy.To, this.state.ProtocolVersion); } }
public override void Enter(StateMachine stateMachine) { base.Enter(stateMachine); CoordinatorEnlistment coordinator = (CoordinatorEnlistment)stateMachine.Enlistment; if (coordinator.RegisterVolatileCoordinator == null) { DiagnosticUtility.FailFast("CoordinatorVolatileActive requires RegisterVolatileCoordinator"); } if (RegisterCoordinatorRecord.ShouldTrace) { RegisterCoordinatorRecord.Trace(coordinator.EnlistmentId, coordinator.SuperiorContext, ControlProtocol.Volatile2PC, coordinator.RegisterVolatileCoordinator.CoordinatorProxy.To, base.state.ProtocolVersion); } TmEnlistPrePrepareEvent enlistPrePrepareEvent = coordinator.EnlistPrePrepareEvent; coordinator.EnlistPrePrepareEvent = null; coordinator.SetCallback(enlistPrePrepareEvent.Callback, enlistPrePrepareEvent.CallbackState); base.state.TransactionManagerSend.EnlistPrePrepareResponse(coordinator, Status.Success); }