public async ValueTask <int> QueuePurgeAsync(string queueName)
        {
            await _semafore.WaitAsync().ConfigureAwait(false);

            _purgeOrDeleteSrc = new TaskCompletionSource <int>();
            var info = new QueuePurgeInfo(queueName, false);

            await SendQueuePurge(info).ConfigureAwait(false);

            var result = await _purgeOrDeleteSrc.Task.ConfigureAwait(false);

            _semafore.Release();
            return(result);
        }
        public ValueTask QueuePurgeNoWaitAsync(string queueName)
        {
            var info = new QueuePurgeInfo(queueName, true);

            return(SendQueuePurge(info));
        }