public static UnsubscribeAction Connect <TOutput>(this IOutboundMessagePipeline pipeline, IPipelineSink <IBusPublishContext <TOutput> > sink) where TOutput : class { var routerConfigurator = new OutboundMessageRouterConfigurator(pipeline); return(routerConfigurator.FindOrCreate <TOutput>().Connect(sink)); }
public static UnsubscribeAction ConnectToRouter <TOutput>(this IPipelineSink <ISendContext> pipeline, IPipelineSink <IBusPublishContext <TOutput> > sink) where TOutput : class { var routerConfigurator = new OutboundMessageRouterConfigurator(pipeline); MessageRouter <IBusPublishContext <TOutput> > router = routerConfigurator.FindOrCreate <TOutput>(); UnsubscribeAction result = router.Connect(sink); return(() => result() && (router.SinkCount == 0)); }