Class AbstractConnectionPool

    • Constructor Detail

      • AbstractConnectionPool

        @Deprecated
        protected AbstractConnectionPool​(Destination destination,
                                         int maxConnections,
                                         Callback requester)
        Parameters:
        destination - the correspondent destination
        maxConnections - the max number of connections
        requester - the callback to notify about new connection creation/failure
      • AbstractConnectionPool

        protected AbstractConnectionPool​(HttpDestination destination,
                                         int maxConnections,
                                         Callback requester)
    • Method Detail

      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface ConnectionPool
        Returns:
        whether this ConnectionPool has no open connections
      • acquire

        public Connection acquire()
        Description copied from interface: ConnectionPool

        Returns an idle connection, if available, or schedules the opening of a new connection and returns null.

        Specified by:
        acquire in interface ConnectionPool
        Returns:
        an available connection, or null
      • acquire

        protected Connection acquire​(boolean create)

        Returns an idle connection, if available; if an idle connection is not available, and the given create parameter is true, then schedules the opening of a new connection, if possible within the configuration of this connection pool (for example, if it does not exceed the max connection count); otherwise returns null.

        Parameters:
        create - whether to schedule the opening of a connection if no idle connections are available
        Returns:
        an idle connection or null if no idle connections are available
        See Also:
        tryCreate(int)
      • tryCreate

        protected void tryCreate​(int maxPending)

        Schedules the opening of a new connection.

        Whether a new connection is scheduled for opening is determined by the maxPending parameter: if maxPending is greater than the current number of connections scheduled for opening, then this method returns without scheduling the opening of a new connection; if maxPending is negative, a new connection is always scheduled for opening.

        Parameters:
        maxPending - the max desired number of connections scheduled for opening, or a negative number to always trigger the opening of a new connection
      • onCreated

        protected abstract void onCreated​(Connection connection)
      • proceed

        protected void proceed()
      • activate

        protected abstract Connection activate()
      • acquired

        protected void acquired​(Connection connection)
      • idle

        protected boolean idle​(Connection connection,
                               boolean close)
      • released

        protected void released​(Connection connection)
      • removed

        protected void removed​(Connection connection)
      • close

        public void close()
        Description copied from interface: ConnectionPool
        Closes this ConnectionPool.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in interface ConnectionPool
        See Also:
        ConnectionPool.isClosed()
      • close

        protected void close​(java.util.Collection<Connection> connections)
      • dump

        public java.lang.String dump()
        Specified by:
        dump in interface Dumpable