public IConnectionHandle Acquire() { IProtoBufConnection connection = null; while (connection == null) { if (AvailableConnections.TryDequeue(out connection)) { continue; } if (ReservedConnections.Count + AvailableConnections.Count < Configuration.ConnectionLimit) { connection = ConnectionFactory.GetConnection(); } } try { ReservedConnections[connection] = connection; } catch (Exception e) { Console.WriteLine(e); } return(new PooledConnectionHandle(this, connection)); }
public IConnection Acquire() { IConnection connection = null; while (connection == null) { if (!AvailableConnections.TryDequeue(out connection)) { if (ReservedConnections.Count < Configuration.ConnectionLimit) { connection = ConnectionFactory.GetConnection(); } } } try { ReservedConnections[connection] = connection; } catch (Exception e) { //TODO: put real error handling here Console.WriteLine(e); } return(connection); }