예제 #1
0
        public async Task <bool> Return(ConsulClient consulClient)
        {
            if (consulClient == null)
            {
                return(await Task.FromResult(false));
            }

            if (Interlocked.Increment(ref _proceduerCount) < MaxQueueSize)
            {
                try {
                    consulClient.CheckDisposed();
                    _consuleQueue.Enqueue(consulClient);
                    return(await Task.FromResult(true));
                }
                catch (Exception e) {
                    throw e;
                    return(await Task.FromResult(false));
                }
            }
            return(await Task.FromResult(false));
        }