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

java.lang.Object
  extended by org.apache.http.nio.pool.AbstractNIOConnPool<T,C,E>
Type Parameters:
T - route
C - connection object
E - pool entry
All Implemented Interfaces:
ConnPoolControl<T>
Direct Known Subclasses:
BasicNIOConnPool

@ThreadSafe
public abstract class AbstractNIOConnPool<T,C,E extends PoolEntry<T,C>>
extends Object
implements ConnPoolControl<T>

Abstract non-blocking connection pool.

Since:
4.2

Constructor Summary
AbstractNIOConnPool(ConnectingIOReactor ioreactor, int defaultMaxPerRoute, int maxTotal)
           
 
Method Summary
protected abstract  void closeEntry(E entry)
           
 void closeExpired()
           
 void closeIdle(long idletime, TimeUnit tunit)
           
protected abstract  C createConnection(T route, IOSession session)
           
protected abstract  E createEntry(T route, C conn)
           
 PoolStats getStats(T route)
           
 PoolStats getTotalStats()
           
 boolean isShutdown()
           
 Future<E> lease(T route, Object state)
           
 Future<E> lease(T route, Object state, FutureCallback<E> callback)
           
 Future<E> lease(T route, Object state, long connectTimeout, TimeUnit tunit, FutureCallback<E> callback)
           
 void release(E entry, boolean reusable)
           
protected  void requestCancelled(SessionRequest request)
           
protected  void requestCompleted(SessionRequest request)
           
protected  void requestFailed(SessionRequest request)
           
protected  void requestTimeout(SessionRequest request)
           
protected abstract  SocketAddress resolveLocalAddress(T route)
           
protected abstract  SocketAddress resolveRemoteAddress(T route)
           
 void setDefaultMaxPerRoute(int max)
           
 void setMaxPerRoute(T route, int max)
           
 void setMaxTotal(int max)
           
 void shutdown(long waitMs)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractNIOConnPool

public AbstractNIOConnPool(ConnectingIOReactor ioreactor,
                           int defaultMaxPerRoute,
                           int maxTotal)
Method Detail

resolveRemoteAddress

protected abstract SocketAddress resolveRemoteAddress(T route)

resolveLocalAddress

protected abstract SocketAddress resolveLocalAddress(T route)

createConnection

protected abstract C createConnection(T route,
                                      IOSession session)

createEntry

protected abstract E createEntry(T route,
                                 C conn)

closeEntry

protected abstract void closeEntry(E entry)

isShutdown

public boolean isShutdown()

shutdown

public void shutdown(long waitMs)
              throws IOException
Throws:
IOException

lease

public Future<E> lease(T route,
                       Object state,
                       long connectTimeout,
                       TimeUnit tunit,
                       FutureCallback<E> callback)

lease

public Future<E> lease(T route,
                       Object state,
                       FutureCallback<E> callback)

lease

public Future<E> lease(T route,
                       Object state)

release

public void release(E entry,
                    boolean reusable)

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 ConnPoolControl<T>

setDefaultMaxPerRoute

public void setDefaultMaxPerRoute(int max)
Specified by:
setDefaultMaxPerRoute in interface ConnPoolControl<T>

setMaxPerRoute

public void setMaxPerRoute(T route,
                           int max)
Specified by:
setMaxPerRoute in interface ConnPoolControl<T>

getTotalStats

public PoolStats getTotalStats()
Specified by:
getTotalStats in interface ConnPoolControl<T>

getStats

public PoolStats getStats(T route)
Specified by:
getStats in interface ConnPoolControl<T>

closeIdle

public void closeIdle(long idletime,
                      TimeUnit tunit)

closeExpired

public void closeExpired()

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2005-2011 The Apache Software Foundation. All Rights Reserved.