Esempio n. 1
0
        public Error Receive()
        {
            var listener = new MultiChannelReceiveListener();

            HookupListenerToChannels(listener);
            return(listener.Success());
        }
Esempio n. 2
0
        public Error Otherwise(Action defaultAction)
        {
            var defaultChannel = new DefaultChannel();

            messageHandlersByChannelId.Add(defaultChannel.Id, _ => defaultAction());
            var listener = new MultiChannelReceiveListener();

            HookupListenerToChannels(listener);
            defaultChannel.AddListener(listener);
            return(listener.Success());
        }
Esempio n. 3
0
 void HookupListenerToChannels(MultiChannelReceiveListener listener)
 {
     foreach (var kvp in messageHandlersByChannelId)
     {
         listener.AddMessageHandler(kvp.Key, kvp.Value);
     }
     foreach (var chan in channels)
     {
         (chan as IChannelSelectCapabilities).AddListener(listener);
     }
 }