Esempio n. 1
0
        public async ValueTask DeleteNoWaitAsync(string name, bool ifUnused = false)
        {
            var info = new ExchangeDeleteInfo(name, ifUnused);

            await SendExchangeDeleteAsync(info).ConfigureAwait(false);

            _exchanges.Remove(info.Name);
        }
Esempio n. 2
0
        public async ValueTask <bool> DeleteAsync(string name, bool ifUnused = false)
        {
            await _semafore.WaitAsync().ConfigureAwait(false);

            _deleteOkSrc = new TaskCompletionSource <bool>();
            var info = new ExchangeDeleteInfo(name, ifUnused);

            await SendExchangeDeleteAsync(info).ConfigureAwait(false);

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

            if (result)
            {
                _exchanges.Remove(info.Name);
            }
            else
            {
                //TODO: сделать что нибудь
            }
            _semafore.Release();
            return(result);
        }