org.apache.synapse.transport.nhttp
Class ClientHandler

java.lang.Object
  extended by org.apache.synapse.transport.nhttp.ClientHandler
All Implemented Interfaces:
org.apache.http.nio.NHttpClientHandler

public class ClientHandler
extends Object
implements org.apache.http.nio.NHttpClientHandler

The client connection handler. An instance of this class is used by each IOReactor, to process every connection. Hence this class should not store any data related to a single connection - as this is being shared.


Field Summary
static String AXIS2_HTTP_REQUEST
           
static String OUTGOING_MESSAGE_CONTEXT
           
static String REQUEST_SOURCE_BUFFER
           
static String RESPONSE_SINK_BUFFER
           
 
Constructor Summary
ClientHandler(ConfigurationContext cfgCtx, org.apache.http.params.HttpParams params, MetricsCollector metrics)
          Create an instance of this client connection handler using the Axis2 configuration context and Http protocol parameters given
 
Method Summary
 void closed(org.apache.http.nio.NHttpClientConnection conn)
           
 void connected(org.apache.http.nio.NHttpClientConnection conn, Object attachment)
          Invoked when the destination is connected
 void exception(org.apache.http.nio.NHttpClientConnection conn, org.apache.http.HttpException e)
          Handle Http protocol violations encountered while reading from underlying channels
 void exception(org.apache.http.nio.NHttpClientConnection conn, IOException e)
          Handle IO errors while reading or writing to underlying channels
 void execute(Runnable task)
           
 int getActiveCount()
           
 int getQueueSize()
           
 void inputReady(org.apache.http.nio.NHttpClientConnection conn, org.apache.http.nio.ContentDecoder decoder)
          Process ready input (i.e.
 void outputReady(org.apache.http.nio.NHttpClientConnection conn, org.apache.http.nio.ContentEncoder encoder)
          Process ready output (i.e.
 void requestReady(org.apache.http.nio.NHttpClientConnection conn)
           
 void responseReceived(org.apache.http.nio.NHttpClientConnection conn)
          Process a response received for the request sent out
 void submitRequest(org.apache.http.nio.NHttpClientConnection conn, Axis2HttpRequest axis2Req)
          Submit a new request over an already established connection, which has been 'kept alive'
 void timeout(org.apache.http.nio.NHttpClientConnection conn)
          Handle connection timeouts by shutting down the connections
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OUTGOING_MESSAGE_CONTEXT

public static final String OUTGOING_MESSAGE_CONTEXT
See Also:
Constant Field Values

AXIS2_HTTP_REQUEST

public static final String AXIS2_HTTP_REQUEST
See Also:
Constant Field Values

REQUEST_SOURCE_BUFFER

public static final String REQUEST_SOURCE_BUFFER
See Also:
Constant Field Values

RESPONSE_SINK_BUFFER

public static final String RESPONSE_SINK_BUFFER
See Also:
Constant Field Values
Constructor Detail

ClientHandler

public ClientHandler(ConfigurationContext cfgCtx,
                     org.apache.http.params.HttpParams params,
                     MetricsCollector metrics)
Create an instance of this client connection handler using the Axis2 configuration context and Http protocol parameters given

Parameters:
cfgCtx - the Axis2 configuration context
params - the Http protocol parameters to adhere to
Method Detail

requestReady

public void requestReady(org.apache.http.nio.NHttpClientConnection conn)
Specified by:
requestReady in interface org.apache.http.nio.NHttpClientHandler

submitRequest

public void submitRequest(org.apache.http.nio.NHttpClientConnection conn,
                          Axis2HttpRequest axis2Req)
Submit a new request over an already established connection, which has been 'kept alive'

Parameters:
conn - the connection to use to send the request, which has been kept open
axis2Req - the new request

connected

public void connected(org.apache.http.nio.NHttpClientConnection conn,
                      Object attachment)
Invoked when the destination is connected

Specified by:
connected in interface org.apache.http.nio.NHttpClientHandler
Parameters:
conn - the connection being processed
attachment - the attachment set previously

closed

public void closed(org.apache.http.nio.NHttpClientConnection conn)
Specified by:
closed in interface org.apache.http.nio.NHttpClientHandler

timeout

public void timeout(org.apache.http.nio.NHttpClientConnection conn)
Handle connection timeouts by shutting down the connections

Specified by:
timeout in interface org.apache.http.nio.NHttpClientHandler
Parameters:
conn - the connection being processed

exception

public void exception(org.apache.http.nio.NHttpClientConnection conn,
                      org.apache.http.HttpException e)
Handle Http protocol violations encountered while reading from underlying channels

Specified by:
exception in interface org.apache.http.nio.NHttpClientHandler
Parameters:
conn - the connection being processed
e - the exception encountered

exception

public void exception(org.apache.http.nio.NHttpClientConnection conn,
                      IOException e)
Handle IO errors while reading or writing to underlying channels

Specified by:
exception in interface org.apache.http.nio.NHttpClientHandler
Parameters:
conn - the connection being processed
e - the exception encountered

inputReady

public void inputReady(org.apache.http.nio.NHttpClientConnection conn,
                       org.apache.http.nio.ContentDecoder decoder)
Process ready input (i.e. response from remote server)

Specified by:
inputReady in interface org.apache.http.nio.NHttpClientHandler
Parameters:
conn - connection being processed
decoder - the content decoder in use

outputReady

public void outputReady(org.apache.http.nio.NHttpClientConnection conn,
                        org.apache.http.nio.ContentEncoder encoder)
Process ready output (i.e. write request to remote server)

Specified by:
outputReady in interface org.apache.http.nio.NHttpClientHandler
Parameters:
conn - the connection being processed
encoder - the encoder in use

responseReceived

public void responseReceived(org.apache.http.nio.NHttpClientConnection conn)
Process a response received for the request sent out

Specified by:
responseReceived in interface org.apache.http.nio.NHttpClientHandler
Parameters:
conn - the connection being processed

execute

public void execute(Runnable task)

getActiveCount

public int getActiveCount()

getQueueSize

public int getQueueSize()


Copyright © 2005-2008 Apache Software Foundation. All Rights Reserved.