EventStore.Projections.Core.ProjectionManagerNode.SubscribeOutputBus C# (CSharp) Method

SubscribeOutputBus() private static method

private static SubscribeOutputBus ( StandardComponents standardComponents, EventStore.Projections.Core.ProjectionsStandardComponents projectionsStandardComponents, RequestResponseQueueForwarder forwarder ) : void
standardComponents StandardComponents
projectionsStandardComponents EventStore.Projections.Core.ProjectionsStandardComponents
forwarder RequestResponseQueueForwarder
return void
        private static void SubscribeOutputBus(
            StandardComponents standardComponents,
            ProjectionsStandardComponents projectionsStandardComponents,
            RequestResponseQueueForwarder forwarder)
        {
            var managerOutput = projectionsStandardComponents.MasterOutputBus;
            managerOutput.Subscribe<ClientMessage.ReadEvent>(forwarder);
            managerOutput.Subscribe<ClientMessage.ReadStreamEventsBackward>(forwarder);
            managerOutput.Subscribe<ClientMessage.ReadStreamEventsForward>(forwarder);
            managerOutput.Subscribe<ClientMessage.WriteEvents>(forwarder);
            managerOutput.Subscribe<ClientMessage.DeleteStream>(forwarder);
            managerOutput.Subscribe(
                Forwarder.Create<ProjectionManagementMessage.RequestSystemProjections>(standardComponents.MainQueue));
            managerOutput.Subscribe(Forwarder.Create<Message>(projectionsStandardComponents.MasterInputQueue));

            managerOutput.Subscribe<TimerMessage.Schedule>(standardComponents.TimerService);
            managerOutput.Subscribe(Forwarder.Create<AwakeServiceMessage.SubscribeAwake>(standardComponents.MainQueue));
            managerOutput.Subscribe(
                Forwarder.Create<AwakeServiceMessage.UnsubscribeAwake>(standardComponents.MainQueue));
            managerOutput.Subscribe<SystemMessage.SubSystemInitialized>(forwarder);

            // self forward all
            standardComponents.MainBus.Subscribe(
                Forwarder.Create<SystemMessage.StateChangeMessage>(projectionsStandardComponents.MasterInputQueue));
            standardComponents.MainBus.Subscribe(
                Forwarder.Create<SystemMessage.SystemCoreReady>(projectionsStandardComponents.MasterInputQueue));
            projectionsStandardComponents.MasterMainBus.Subscribe(new UnwrapEnvelopeHandler());
        }
    }