|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.http.impl.conn.AbstractClientConnAdapter
org.apache.http.impl.conn.AbstractPooledConnAdapter
public abstract class AbstractPooledConnAdapter
Abstract adapter from pool entries
to
managed
client connections.
The connection in the pool entry is used to initialize the base class.
In addition, methods to establish a route are delegated to the
pool entry. shutdown
and close
will clear the tracked route in the pool entry and call the
respective method of the wrapped connection.
Field Summary | |
---|---|
protected AbstractPoolEntry |
poolEntry
The wrapped pool entry. |
Constructor Summary | |
---|---|
protected |
AbstractPooledConnAdapter(ClientConnectionManager manager,
AbstractPoolEntry entry)
Creates a new connection adapter. |
Method Summary | |
---|---|
protected void |
assertAttached()
Deprecated. |
void |
close()
|
protected void |
detach()
Detaches this adapter from the wrapped connection. |
HttpRoute |
getRoute()
Obtains the current route of this connection. |
Object |
getState()
Returns the state object associated with this connection. |
void |
layerProtocol(HttpContext context,
HttpParams params)
Layers a new protocol on top of a tunnelled
connection. |
void |
open(HttpRoute route,
HttpContext context,
HttpParams params)
Opens this connection according to the given route. |
void |
setState(Object state)
Assigns a state object to this connection. |
void |
shutdown()
|
void |
tunnelProxy(HttpHost next,
boolean secure,
HttpParams params)
Indicates that a tunnel to an intermediate proxy has been established. |
void |
tunnelTarget(boolean secure,
HttpParams params)
Indicates that a tunnel to the target has been established. |
Methods inherited from class org.apache.http.impl.conn.AbstractClientConnAdapter |
---|
abortConnection, assertNotAborted, assertValid, flush, getLocalAddress, getLocalPort, getManager, getMetrics, getRemoteAddress, getRemotePort, getSocketTimeout, getSSLSession, getWrappedConnection, isMarkedReusable, isOpen, isResponseAvailable, isSecure, isStale, markReusable, receiveResponseEntity, receiveResponseHeader, releaseConnection, sendRequestEntity, sendRequestHeader, setIdleDuration, setSocketTimeout, unmarkReusable |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected volatile AbstractPoolEntry poolEntry
Constructor Detail |
---|
protected AbstractPooledConnAdapter(ClientConnectionManager manager, AbstractPoolEntry entry)
manager
- the connection managerentry
- the pool entry for the connection being wrappedMethod Detail |
---|
@Deprecated protected final void assertAttached()
IllegalStateException
- if it is detach
edprotected void detach()
detach
in class AbstractClientConnAdapter
public HttpRoute getRoute()
ManagedClientConnection
null
if not connectedpublic void open(HttpRoute route, HttpContext context, HttpParams params) throws IOException
ManagedClientConnection
route
- the route along which to open. It will be opened to
the first proxy if present, or directly to the target.context
- the context for opening this connectionparams
- the parameters for opening this connection
IOException
- in case of a problempublic void tunnelTarget(boolean secure, HttpParams params) throws IOException
ManagedClientConnection
open
.
Subsequently, layerProtocol
can be called
to layer the TLS/SSL protocol on top of the tunnelled connection.
secure
- true
if the tunnel should be considered
secure, false
otherwiseparams
- the parameters for tunnelling this connection
IOException
- in case of a problempublic void tunnelProxy(HttpHost next, boolean secure, HttpParams params) throws IOException
ManagedClientConnection
ManagedClientConnection.tunnelTarget(boolean, org.apache.http.params.HttpParams)
.
next
- the proxy to which the tunnel was established.
This is not the proxy through which
the tunnel was established, but the new end point
of the tunnel. The tunnel does not yet
reach to the target, use ManagedClientConnection.tunnelTarget(boolean, org.apache.http.params.HttpParams)
to indicate an end-to-end tunnel.secure
- true
if the connection should be
considered secure, false
otherwiseparams
- the parameters for tunnelling this connection
IOException
- in case of a problempublic void layerProtocol(HttpContext context, HttpParams params) throws IOException
ManagedClientConnection
tunnelled
connection. This is typically used to create a TLS/SSL connection
through a proxy.
The route is the one previously passed to open
.
It is not guaranteed that the layered connection is
secure
.
context
- the context for layering on top of this connectionparams
- the parameters for layering on top of this connection
IOException
- in case of a problempublic void close() throws IOException
IOException
public void shutdown() throws IOException
IOException
public Object getState()
ManagedClientConnection
public void setState(Object state)
ManagedClientConnection
state
- The state object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |