Class AbstractNIOConnPool<T,​C,​E extends org.apache.http.pool.PoolEntry<T,​C>>

  • Type Parameters:
    T - route
    C - connection object
    E - pool entry
    All Implemented Interfaces:
    org.apache.http.pool.ConnPool<T,​E>, org.apache.http.pool.ConnPoolControl<T>
    Direct Known Subclasses:
    BasicNIOConnPool

    @Contract(threading=SAFE_CONDITIONAL)
    public abstract class AbstractNIOConnPool<T,​C,​E extends org.apache.http.pool.PoolEntry<T,​C>>
    extends java.lang.Object
    implements org.apache.http.pool.ConnPool<T,​E>, org.apache.http.pool.ConnPoolControl<T>
    Abstract non-blocking connection pool.
    Since:
    4.2
    • Method Detail

      • resolveRemoteAddress

        @Deprecated
        protected java.net.SocketAddress resolveRemoteAddress​(T route)
        Deprecated.
      • resolveLocalAddress

        @Deprecated
        protected java.net.SocketAddress resolveLocalAddress​(T route)
        Deprecated.
      • createEntry

        protected abstract E createEntry​(T route,
                                         C conn)
      • onLease

        protected void onLease​(E entry)
        Since:
        4.3
      • onRelease

        protected void onRelease​(E entry)
        Since:
        4.3
      • onReuse

        protected void onReuse​(E entry)
        Since:
        4.4
      • isShutdown

        public boolean isShutdown()
      • shutdown

        public void shutdown​(long waitMs)
                      throws java.io.IOException
        Throws:
        java.io.IOException
      • lease

        public java.util.concurrent.Future<E> lease​(T route,
                                                    java.lang.Object state,
                                                    long connectTimeout,
                                                    java.util.concurrent.TimeUnit tunit,
                                                    org.apache.http.concurrent.FutureCallback<E> callback)
      • lease

        public java.util.concurrent.Future<E> lease​(T route,
                                                    java.lang.Object state,
                                                    long connectTimeout,
                                                    long leaseTimeout,
                                                    java.util.concurrent.TimeUnit tunit,
                                                    org.apache.http.concurrent.FutureCallback<E> callback)
        Since:
        4.3
      • lease

        public java.util.concurrent.Future<E> lease​(T route,
                                                    java.lang.Object state,
                                                    org.apache.http.concurrent.FutureCallback<E> callback)
        Specified by:
        lease in interface org.apache.http.pool.ConnPool<T,​C>
      • lease

        public java.util.concurrent.Future<E> lease​(T route,
                                                    java.lang.Object state)
      • release

        public void release​(E entry,
                            boolean reusable)
        Specified by:
        release in interface org.apache.http.pool.ConnPool<T,​C>
      • validatePendingRequests

        public void validatePendingRequests()
      • requestCompleted

        protected void requestCompleted​(SessionRequest request)
      • requestCancelled

        protected void requestCancelled​(SessionRequest request)
      • requestFailed

        protected void requestFailed​(SessionRequest request)
      • requestTimeout

        protected void requestTimeout​(SessionRequest request)
      • setMaxTotal

        public void setMaxTotal​(int max)
        Specified by:
        setMaxTotal in interface org.apache.http.pool.ConnPoolControl<T>
      • getMaxTotal

        public int getMaxTotal()
        Specified by:
        getMaxTotal in interface org.apache.http.pool.ConnPoolControl<T>
      • setDefaultMaxPerRoute

        public void setDefaultMaxPerRoute​(int max)
        Specified by:
        setDefaultMaxPerRoute in interface org.apache.http.pool.ConnPoolControl<T>
      • getDefaultMaxPerRoute

        public int getDefaultMaxPerRoute()
        Specified by:
        getDefaultMaxPerRoute in interface org.apache.http.pool.ConnPoolControl<T>
      • setMaxPerRoute

        public void setMaxPerRoute​(T route,
                                   int max)
        Specified by:
        setMaxPerRoute in interface org.apache.http.pool.ConnPoolControl<T>
      • getMaxPerRoute

        public int getMaxPerRoute​(T route)
        Specified by:
        getMaxPerRoute in interface org.apache.http.pool.ConnPoolControl<T>
      • getTotalStats

        public org.apache.http.pool.PoolStats getTotalStats()
        Specified by:
        getTotalStats in interface org.apache.http.pool.ConnPoolControl<T>
      • getStats

        public org.apache.http.pool.PoolStats getStats​(T route)
        Specified by:
        getStats in interface org.apache.http.pool.ConnPoolControl<T>
      • getRoutes

        public java.util.Set<T> getRoutes()
        Returns snapshot of all knows routes
        Since:
        4.4
      • enumAvailable

        protected void enumAvailable​(org.apache.http.pool.PoolEntryCallback<T,​C> callback)
        Enumerates all available connections.
        Since:
        4.3
      • enumLeased

        protected void enumLeased​(org.apache.http.pool.PoolEntryCallback<T,​C> callback)
        Enumerates all leased connections.
        Since:
        4.3
      • closeIdle

        public void closeIdle​(long idletime,
                              java.util.concurrent.TimeUnit tunit)
      • closeExpired

        public void closeExpired()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object