public void AddMessage(MutableStorageQueueMessage message) { DateTimeOffset now = DateTimeOffset.Now; message.Id = Guid.NewGuid().ToString(); message.InsertionTime = now; message.ExpirationTime = now.AddDays(7); message.NextVisibleTime = now; _visibleMessages.Enqueue(message); }
public void DeleteMessage(MutableStorageQueueMessage message) { MutableStorageQueueMessage ignore; if (!_invisibleMessages.TryRemove(message.PopReceipt, out ignore)) { throw new InvalidOperationException("Unable to delete message."); } }
public void AddMessage(string queueName, MutableStorageQueueMessage message) { if (!_items.ContainsKey(queueName)) { throw StorageExceptionFactory.Create(404, "QueueNotFound"); } _items[queueName].AddMessage(message); }
private MutableStorageQueueMessage LookupMessage(string popReceipt) { MutableStorageQueueMessage message = _visibleMessages.FirstOrDefault(p => p.PopReceipt == popReceipt); if (message == null) { message = _invisibleMessages[popReceipt]; } return(message); }
public void UpdateMessage(MutableStorageQueueMessage message, TimeSpan visibilityTimeout, MessageUpdateFields updateFields) { if ((updateFields & MessageUpdateFields.Content) == MessageUpdateFields.Content) { // No-op; queue messages already provide in-memory content updating. } if ((updateFields & MessageUpdateFields.Visibility) == MessageUpdateFields.Visibility) { message.NextVisibleTime = DateTimeOffset.Now.Add(visibilityTimeout); } }
public void AddMessage(MutableStorageQueueMessage message) { // need to create a new instance so other queues handling this message aren't updated DateTimeOffset now = DateTimeOffset.Now; var newMessage = new FakeStorageQueueMessage(CloudQueueMessage.CreateCloudQueueMessageFromByteArray(message.AsBytes)) { Id = Guid.NewGuid().ToString(), InsertionTime = now, ExpirationTime = now.AddDays(7), NextVisibleTime = now }; _visibleMessages.Enqueue(newMessage); }
public void UpdateMessage(MutableStorageQueueMessage message, TimeSpan visibilityTimeout, MessageUpdateFields updateFields) { MutableStorageQueueMessage storedMessage = LookupMessage(message.PopReceipt); if ((updateFields & MessageUpdateFields.Content) == MessageUpdateFields.Content) { // No-op; queue messages already provide in-memory content updating. } if ((updateFields & MessageUpdateFields.Visibility) == MessageUpdateFields.Visibility) { DateTimeOffset nextVisibleTime = DateTimeOffset.Now.Add(visibilityTimeout); storedMessage.NextVisibleTime = message.NextVisibleTime = nextVisibleTime; } }
public Task AddMessageAsync(IStorageQueueMessage message, CancellationToken cancellationToken) { if (message == null) { throw new ArgumentNullException("message"); } MutableStorageQueueMessage storeMessage = message as MutableStorageQueueMessage; if (storeMessage == null) { storeMessage = new FakeStorageQueueMessage(message.SdkObject); } _store.AddMessage(_queueName, storeMessage); return(Task.FromResult(0)); }
public void UpdateMessage(string queueName, MutableStorageQueueMessage message, TimeSpan visibilityTimeout, MessageUpdateFields updateFields) { _items[queueName].UpdateMessage(message, visibilityTimeout, updateFields); }
public void DeleteMessage(string queueName, MutableStorageQueueMessage message) { _items[queueName].DeleteMessage(message); }