예제 #1
0
 protected override IChannel CreateCommChannel(ChannelProviderBase parent, string name)
 {
     Contracts.AssertValue(parent);
     Contracts.Assert(parent is Host);
     Contracts.AssertNonEmpty(name);
     return(new Channel(Root, parent, name, GetDispatchDelegate <ChannelMessage>()));
 }
예제 #2
0
 protected override IPipe <TMessage> CreatePipe <TMessage>(ChannelProviderBase parent, string name)
 {
     Contracts.AssertValue(parent);
     Contracts.Assert(parent is Host);
     Contracts.AssertNonEmpty(name);
     return(new Pipe <TMessage>(parent, name, GetDispatchDelegate <TMessage>()));
 }
예제 #3
0
 public Channel(ConsoleEnvironment root, ChannelProviderBase parent, string shortName,
                Action <IMessageSource, ChannelMessage> dispatch)
     : base(root, parent, shortName, dispatch)
 {
     Watch = Stopwatch.StartNew();
     Root._consoleWriter.ChannelStarted(this);
 }
예제 #4
0
            private void WriteName(TextWriter wr, ChannelProviderBase provider)
            {
                var channel = provider as Channel;

                if (channel != null)
                {
                    WriteName(wr, channel.Parent);
                }
                wr.Write("{0}: ", provider.ShortName);
            }
예제 #5
0
 protected PipeBase(ChannelProviderBase parent, string shortName,
                    Action <IMessageSource, TMessage> dispatch)
     : base(shortName, parent.FullName, parent.Verbose)
 {
     Contracts.AssertValue(parent);
     Contracts.AssertValue(dispatch);
     Parent   = parent;
     Depth    = parent.Depth + 1;
     Dispatch = dispatch;
 }
예제 #6
0
 protected abstract IPipe <TMessage> CreatePipe <TMessage>(ChannelProviderBase parent, string name);
예제 #7
0
 protected abstract IChannel CreateCommChannel(ChannelProviderBase parent, string name);
예제 #8
0
 public Pipe(ChannelProviderBase parent, string shortName,
             Action <IMessageSource, TMessage> dispatch) :
     base(parent, shortName, dispatch)
 {
 }
예제 #9
0
 protected ChannelBase(TEnv root, ChannelProviderBase parent, string shortName,
                       Action <IMessageSource, ChannelMessage> dispatch)
     : base(parent, shortName, dispatch)
 {
     Root = root;
 }