コード例 #1
0
 public void Continue()
 {
     for (int i = 0; i < _receivers.Count; i++)
     {
         _pending.Add(_receivers[i]());
     }
 }
コード例 #2
0
        public WithinSentRequest <TRequest> Receive <T>(SelectiveConsumer <T> consumer)
        {
            PendingReceive receive = _inbox.Receive <T>(candidate =>
            {
                Consumer <T> accepted = consumer(candidate);
                if (accepted == null)
                {
                    return(null);
                }

                return(message =>
                {
                    accepted(message);

                    _receives.CancelAll();

                    _handled = true;
                });
            }, _timeout, HandleTimeout);

            _receives.Add(receive);

            return(this);
        }