예제 #1
0
        protected override Action <TSourceMessage> FindReceiver(IInlet <TSourceMessage> inletSendingMessage)
        {
            var receiver = Outlet.FindReceiver();

            if (receiver == null)
            {
                return(null);
            }
            return(m => receiver(Map(m)));
        }
예제 #2
0
        protected override Action <TMessage> FindReceiver(IInlet <TMessage> inletSendingMessage)
        {
            if (storedMessages.Any())
            {
                if (HasSpareCapacity())
                {
                    return(message => storedMessages.Enqueue(message));
                }
            }
            else
            {
                var receiver = Outlet.FindReceiver();
                if (receiver != null)
                {
                    return(receiver);
                }

                if (HasSpareCapacity())
                {
                    return(message => storedMessages.Enqueue(message));
                }
            }
            return(null);
        }
예제 #3
0
 protected override Action <TMessage> FindReceiver(IInlet <TMessage> inletSendingMessage)
 {
     return(Outlet.FindReceiver());
 }