예제 #1
0
 protected override IPipe <TMessage> CreatePipe <TMessage>(ChannelProviderBase parent, string name)
 {
     Contracts.AssertValue(parent);
     Contracts.Assert(parent is ConsoleEnvironment);
     Contracts.AssertNonEmpty(name);
     return(new Pipe <TMessage>(parent, name, GetDispatchDelegate <TMessage>()));
 }
 public Channel(PassThroughEnvironment root, ChannelProviderBase parent, string shortName,
     Action<IMessageSource, ChannelMessage> dispatch)
     : base(root, parent, shortName, dispatch)
 {
     Watch = Stopwatch.StartNew();
     Dispatch(this, new ChannelMessage(ChannelMessageKind.Trace, MessageSensitivity.None, "Channel started"));
 }
예제 #3
0
 protected override IChannel CreateCommChannel(ChannelProviderBase parent, string name)
 {
     Contracts.AssertValue(parent);
     Contracts.Assert(parent is ConsoleEnvironment);
     Contracts.AssertNonEmpty(name);
     return(new Channel(this, parent, name, GetDispatchDelegate <ChannelMessage>()));
 }
 public Channel(DelegateEnvironment root, ChannelProviderBase parent, string shortName,
                Action <IMessageSource, ChannelMessage> dispatch)
     : base(root, parent, shortName, dispatch)
 {
     Watch = Stopwatch.StartNew();
     Root._outErrWriter.ChannelStarted(this);
 }
            private void WriteName(ILogWriter wr, ChannelProviderBase provider)
            {
                var channel = provider as Channel;

                if (channel != null)
                {
                    WriteName(wr, channel.Parent);
                }
                wr.Write(string.Format("{0}: ", provider.ShortName));
            }
예제 #6
0
        static void Main()
        {
            var channelProviders = new ChannelProviderBase[]
                {
                    new Handlers.CustomerHandlers.ChannelProvider(),
                    new Handlers.InvoiceHandlers.ChannelProvider(),
                    new Handlers.ProductHandlers.ChannelProvider(),
                    new Handlers.Audit.ChannelProvider()
                };

            PointOfSaleBus.Start(
                channelProvider: new CompositeChannelProvider(channelProviders),
                busStateChangedHandler: new BusStateChangedHandler()
            );
        }
예제 #7
0
        static void Main()
        {
            var channelProviders = new ChannelProviderBase[]
            {
                new Handlers.CustomerHandlers.ChannelProvider(),
                new Handlers.InvoiceHandlers.ChannelProvider(),
                new Handlers.ProductHandlers.ChannelProvider(),
                new Handlers.Audit.ChannelProvider()
            };

            PointOfSaleBus.Start(
                channelProvider: new CompositeChannelProvider(channelProviders),
                busStateChangedHandler: new BusStateChangedHandler()
                );
        }
예제 #8
0
 public Channel(RmlEnvironment master, ChannelProviderBase parent, string shortName, Action <IMessageSource, ChannelMessage> dispatch)
     : base(master, parent, shortName, dispatch)
 {
 }