public IRpcClient GetRpcClient()

in rocketmq-client-csharp/ClientManager.cs [41:75]


        public IRpcClient GetRpcClient(string target)
        {
            _clientLock.EnterReadLock();
            try
            {
                // client exists, return in advance.
                if (_rpcClients.ContainsKey(target))
                {
                    return _rpcClients[target];
                }
            }
            finally
            {
                _clientLock.ExitReadLock();
            }

            _clientLock.EnterWriteLock();
            try
            {
                // client exists, return in advance.
                if (_rpcClients.ContainsKey(target))
                {
                    return _rpcClients[target];
                }

                // client does not exist, generate a new one
                var client = new RpcClient(target);
                _rpcClients.Add(target, client);
                return client;
            }
            finally
            {
                _clientLock.ExitWriteLock();
            }
        }