Exemple #1
0
        public override Task AddMessageAsync(IQueueMessage <object, int> message, QueueSettings queueSettings, CancellationToken cancellationToken = default(CancellationToken))
        {
            message.Id = IdInternal;

            Queue.Add(IdInternal, SerializerBinary.CloneStatic(message));
            ++IdInternal;

            return(Task.Delay(0, cancellationToken));
        }
Exemple #2
0
        public override Task <IEnumerable <IQueueMessage <object, int> > > PeekMessagesAsync(QueueSettings queueSettings, CancellationToken cancellationToken = default(CancellationToken))
        {
            var values = Queue
                         .Values
                         .Select(m => SerializerBinary.CloneStatic(m))
                         .ToList()
                         .AsEnumerable();

            return(Task.FromResult(values));
        }
Exemple #3
0
        public override Task <IQueueMessage <object, int> > PeekMessageAsync(QueueSettings queueSettings, CancellationToken cancellationToken = default(CancellationToken))
        {
            var returnValue = Task.FromResult(default(IQueueMessage <object, int>));

            if (Queue.Any())
            {
                var pair = Queue.First();
                returnValue = Task.FromResult(SerializerBinary.CloneStatic(pair.Value));
            }

            return(returnValue);
        }