Inheritance: IMessageTransaction
コード例 #1
0
        public Task <IMessageTransaction> Receive(TimeSpan?timeout = null)
        {
            return(Task.Factory.StartNew(() =>
            {
                LocalMessage message;
                if (!this.queue.TryTake(out message, timeout ?? TimeSpan.FromSeconds(60)))
                {
                    return null;
                }

                IMessageTransaction transaction = new LocalMessageTransaction(
                    message,
                    () => { },                                     // nothing to do on commit
                    () =>
                {
                    message.Failed();                                         // notify failure, increases retry count
                    this.queue.Add(message);                                  // add to the queue again
                });
                return transaction;
            }));
        }
コード例 #2
0
ファイル: LocalTransport.cs プロジェクト: mfelicio/NDomain
        public Task<IMessageTransaction> Receive(TimeSpan? timeout = null)
        {
            return Task.Factory.StartNew(() =>
            {
                LocalMessage message;
                if (!this.queue.TryTake(out message, timeout ?? TimeSpan.FromSeconds(60)))
                {
                    return null;
                }

                IMessageTransaction transaction = new LocalMessageTransaction(
                                                        message,
                                                        () => { }, // nothing to do on commit
                                                        () =>
                                                        {
                                                            message.Failed(); // notify failure, increases retry count
                                                            this.queue.Add(message); // add to the queue again
                                                        });
                return transaction;
            });
        }