public async ValueTask QueueDeleteNoWaitAsync(string queueName, bool ifUnused = false, bool ifEmpty = false) { var info = new QueueDeleteInfo(queueName, ifUnused, ifEmpty, true); await SendQueueDelete(info).ConfigureAwait(false); _queues.Remove(queueName); }
public async ValueTask <int> QueueDeleteAsync(string queueName, bool ifUnused = false, bool ifEmpty = false) { await _semafore.WaitAsync().ConfigureAwait(false); _purgeOrDeleteSrc = new TaskCompletionSource <int>(); var info = new QueueDeleteInfo(queueName, ifUnused, ifEmpty, false); await SendQueueDelete(info).ConfigureAwait(false); var result = await _purgeOrDeleteSrc.Task.ConfigureAwait(false); _queues.Remove(queueName); _semafore.Release(); return(result); }