예제 #1
0
        private static IPipelineSink <PingMessage> SetupRouterOnly()
        {
            _consumer = new PerformantConsumer <PingMessage>(1500000);

            var messageSink = new InstanceMessageSink <PingMessage>(message => _consumer.Consume);

            var router = new MessageRouter <PingMessage>();

            router.Connect(messageSink);
            return(router);
        }
예제 #2
0
        private static MessageRouter <IConsumeContext <PingMessage> > SetupRouterOnly()
        {
            _consumer = new PerformantConsumer <PingMessage>(1500000);

            var messageSink = new InstanceMessageSink <PingMessage>(MultipleHandlerSelector.ForHandler(
                                                                        HandlerSelector.ForHandler <PingMessage>(_consumer.Consume)));

            var router = new MessageRouter <IConsumeContext <PingMessage> >();

            router.Connect(messageSink);
            return(router);
        }
예제 #3
0
        private static IPipelineSink <object> SetupTwoRoutersOnly()
        {
            _consumer = new PerformantConsumer <PingMessage>(1500000);

            var messageSink = new InstanceMessageSink <PingMessage>(message => _consumer.Consume);

            var router = new MessageRouter <PingMessage>();

            router.Connect(messageSink);

            var translater = new MessageTranslator <object, PingMessage>(router);

            var nextRouter = new MessageRouter <object>();

            nextRouter.Connect(translater);

            return(nextRouter);
        }
예제 #4
0
        private static MessageRouter <IConsumeContext> SetupTwoRoutersOnly()
        {
            _consumer = new PerformantConsumer <PingMessage>(1500000);

            var messageSink = new InstanceMessageSink <PingMessage>(MultipleHandlerSelector.ForHandler(
                                                                        HandlerSelector.ForHandler <PingMessage>(_consumer.Consume)));

            var router = new MessageRouter <IConsumeContext <PingMessage> >();

            router.Connect(messageSink);

            var translater = new InboundConvertMessageSink <PingMessage>(router);

            var nextRouter = new MessageRouter <IConsumeContext>();

            nextRouter.Connect(translater);

            return(nextRouter);
        }