예제 #1
0
        public async Task <XResult <bool> > DeleteMessage(QueueMessageWrapper <T> message)
        {
            var result = await XResiliant.Default.Run(() => OperationWrap <bool>(async() =>
            {
                await _q.DeleteMessageAsync(message.MessageId, message.PopReceipt);
                return(true);
            }));

            return(result);
        }
예제 #2
0
        public async Task <XResult <bool> > ResetMessageTimespan(QueueMessageWrapper <T> message, TimeSpan newTimespan)
        {
            var m = new CloudQueueMessage(message.MessageId, message.PopReceipt);

            var result = await XResiliant.Default.Run(() => OperationWrap <bool>(async() =>
            {
                await _q.UpdateMessageAsync(m, newTimespan, MessageUpdateFields.Visibility);
                return(true);
            }));

            return(result);
        }
예제 #3
0
 protected internal override Task RemoveOverflownContentsAsync(QueueMessageWrapper message, CancellationToken token)
 {
     return(this.DecoratedQueue.RemoveOverflownContentsAsync(message, token));
 }
예제 #4
0
 public override Task <T> DecodeMessageAsync <T>(QueueMessageWrapper wrapper, CancellationToken token)
 {
     return(this.DecoratedQueue.DecodeMessageAsync <T>(wrapper, token));
 }
        internal bool OnProcessMessage(QueueMessageWrapper message)
        {
            ModuleProc PROC = new ModuleProc(DYN_MODULE_NAME, "OnProcessMessage");

            try
            {
                if (this.ProcessMessage != null)
                {
                    return this.ProcessMessage(message);
                }
            }
            catch (Exception ex)
            {
                Log.Exception(PROC, ex);
            }
            return true;
        }
 protected internal override async Task RemoveOverflownContentsAsync(QueueMessageWrapper message, CancellationToken token)
 {
     this.Top.LogAction(LogSeverity.Debug, "Calling OverflowHandlingDecorator.RemoveOverflownContentsAsync, of type " + this.OverflownMessageHandler.GetType().FullName);
     await this.OverflownMessageHandler.RemoveOverflownContentsAsync(await message.GetOverflowIdAsync().ConfigureAwait(false), this.Name, token).ConfigureAwait(false);
 }