Exemple #1
0
        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));
        }
Exemple #2
0
        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);
        }