public static TClientInfo getClient(String host, int port, Object clientClass, Object protocolClass) { TClientInfo aInfo = fastGetClient(host, port, clientClass); if (aInfo != null) { //Console.WriteLine("I1"); return(aInfo); } else { //Console.WriteLine("I2"); aInfo = new TClientInfo(host, port, clientClass, protocolClass); return(aInfo); } }
public static void releaseClient(TClientInfo aClientInfo) { lock (syncLock) { String aKey = getKey(aClientInfo.m_host, aClientInfo.m_port, aClientInfo.m_clientClass); Stack <TClientInfo> aContainer = m_clients.GetValueOrDefault(aKey); if (aContainer == null) { //Console.WriteLine("I5"); aContainer = new Stack <TClientInfo>(); aContainer.Push(aClientInfo); m_clients.Add(aKey, aContainer); } else { //Console.WriteLine("I6"); aContainer.Push(aClientInfo); } //Console.WriteLine("aContainer.Count: " + aContainer.Count); } }