|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor
org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor
public class DefaultConnectingIOReactor
Default implementation of ConnectingIOReactor
. This class extends
AbstractMultiworkerIOReactor
with capability to connect to remote
hosts.
The following parameters can be used to customize the behavior of this class:
CoreConnectionPNames.TCP_NODELAY
CoreConnectionPNames.SO_TIMEOUT
CoreConnectionPNames.CONNECTION_TIMEOUT
CoreConnectionPNames.SO_LINGER
CoreConnectionPNames.SO_REUSEADDR
NIOReactorPNames.SELECT_INTERVAL
NIOReactorPNames.GRACE_PERIOD
NIOReactorPNames.INTEREST_OPS_QUEUEING
Field Summary |
---|
Fields inherited from class org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor |
---|
auditLog, exceptionHandler, interestOpsQueueing, params, selector, selectTimeout, status |
Constructor Summary | |
---|---|
DefaultConnectingIOReactor(int workerCount,
HttpParams params)
|
|
DefaultConnectingIOReactor(int workerCount,
ThreadFactory threadFactory,
HttpParams params)
|
Method Summary | |
---|---|
protected void |
cancelRequests()
Triggered to cancel pending session requests. |
SessionRequest |
connect(SocketAddress remoteAddress,
SocketAddress localAddress,
Object attachment,
SessionRequestCallback callback)
Requests a connection to a remote host. |
protected void |
processEvents(int readyCount)
Triggered to process I/O events registered by the main Selector . |
Methods inherited from class org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor |
---|
addChannel, addExceptionEvent, addExceptionEvent, awaitShutdown, doShutdown, execute, getAuditLog, getStatus, prepareSocket, registerChannel, setExceptionHandler, shutdown, shutdown |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.http.nio.reactor.IOReactor |
---|
execute, getStatus, shutdown, shutdown |
Constructor Detail |
---|
public DefaultConnectingIOReactor(int workerCount, ThreadFactory threadFactory, HttpParams params) throws IOReactorException
IOReactorException
public DefaultConnectingIOReactor(int workerCount, HttpParams params) throws IOReactorException
IOReactorException
Method Detail |
---|
protected void cancelRequests() throws IOReactorException
AbstractMultiworkerIOReactor
Super-classes can implement this method to react to the event.
cancelRequests
in class AbstractMultiworkerIOReactor
IOReactorException
- in case if a non-recoverable I/O error.protected void processEvents(int readyCount) throws IOReactorException
AbstractMultiworkerIOReactor
Selector
.
Super-classes can implement this method to react to the event.
processEvents
in class AbstractMultiworkerIOReactor
readyCount
- event count.
IOReactorException
- in case if a non-recoverable I/O error.public SessionRequest connect(SocketAddress remoteAddress, SocketAddress localAddress, Object attachment, SessionRequestCallback callback)
ConnectingIOReactor
Opening a connection to a remote host usually tends to be a time
consuming process and may take a while to complete. One can monitor and
control the process of session initialization by means of the
SessionRequest
interface.
There are several parameters one can use to exert a greater control over the process of session initialization:
A non-null local socket address parameter can be used to bind the socket to a specific local address.
An attachment object can added to the new session's context upon initialization. This object can be used to pass an initial processing state to the protocol handler.
It is often desirable to be able to react to the completion of a session
request asynchronously without having to wait for it, blocking the
current thread of execution. One can optionally provide an implementation
SessionRequestCallback
instance to get notified of events related
to session requests, such as request completion, cancellation, failure or
timeout.
connect
in interface ConnectingIOReactor
remoteAddress
- the socket address of the remote host.localAddress
- the local socket address. Can be null
,
in which can the default local address and a random port will be used.attachment
- the attachment object. Can be null
.callback
- interface. Can be null
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |