Class AsyncServer
java.lang.Object
org.apache.hc.core5.http.impl.bootstrap.AbstractConnectionInitiatorBase
org.apache.hc.core5.http.impl.bootstrap.AsyncServer
- All Implemented Interfaces:
Closeable,AutoCloseable,ModalCloseable,ConnectionAcceptor,ConnectionInitiator,IOReactor,IOReactorService
- Direct Known Subclasses:
HttpAsyncServer
public class AsyncServer
extends AbstractConnectionInitiatorBase
implements IOReactorService, ConnectionAcceptor
Protocol agnostic server side I/O session handler.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionAsyncServer(IOEventHandlerFactory eventHandlerFactory, IOReactorConfig ioReactorConfig, Decorator<IOSession> ioSessionDecorator, Callback<Exception> exceptionCallback, IOSessionListener sessionListener, Callback<IOSession> sessionShutdownCallback) -
Method Summary
Modifier and TypeMethodDescriptionvoidawaitShutdown(TimeValue waitTime) Blocks for the given period of time in milliseconds awaiting the completion of the reactor shutdown.voidclose()voidShuts down the I/O reactor either gracefully or immediately.Returns a set of endpoints for this I/O reactor.(package private) ConnectionInitiatorReturns the current status of the reactor.voidInitiates shutdown of the reactor without blocking.listen(SocketAddress address) listen(SocketAddress address, Object attachment, FutureCallback<ListenerEndpoint> callback) Opens a new listener endpoint with the given socket address.listen(SocketAddress address, FutureCallback<ListenerEndpoint> callback) Opens a new listener endpoint with the given socket address.voidpause()Suspends the I/O reactor preventing it from accepting new connections on all active endpoints.voidresume()Resumes the I/O reactor restoring its ability to accept incoming connections on all active endpoints.voidstart()Starts I/O reactor.Methods inherited from class org.apache.hc.core5.http.impl.bootstrap.AbstractConnectionInitiatorBase
connect
-
Field Details
-
ioReactor
-
-
Constructor Details
-
AsyncServer
@Internal public AsyncServer(IOEventHandlerFactory eventHandlerFactory, IOReactorConfig ioReactorConfig, Decorator<IOSession> ioSessionDecorator, Callback<Exception> exceptionCallback, IOSessionListener sessionListener, Callback<IOSession> sessionShutdownCallback)
-
-
Method Details
-
start
public void start()Description copied from interface:IOReactorServiceStarts I/O reactor.- Specified by:
startin interfaceIOReactorService
-
getIOReactor
ConnectionInitiator getIOReactor()- Specified by:
getIOReactorin classAbstractConnectionInitiatorBase
-
listen
public Future<ListenerEndpoint> listen(SocketAddress address, Object attachment, FutureCallback<ListenerEndpoint> callback) Description copied from interface:ConnectionAcceptorOpens a new listener endpoint with the given socket address. Once the endpoint is fully initialized it starts accepting incoming connections and propagates I/O activity notifications to the I/O event dispatcher.- Specified by:
listenin interfaceConnectionAcceptor- Parameters:
address- the socket address to listen on.attachment- the attachment object.callback- the result callback.- Returns:
- listener endpoint.
- Since:
- 5.1
-
listen
public Future<ListenerEndpoint> listen(SocketAddress address, FutureCallback<ListenerEndpoint> callback) Description copied from interface:ConnectionAcceptorOpens a new listener endpoint with the given socket address. Once the endpoint is fully initialized it starts accepting incoming connections and propagates I/O activity notifications to the I/O event dispatcher.- Specified by:
listenin interfaceConnectionAcceptor- Parameters:
address- the socket address to listen on.callback- the result callback.- Returns:
- listener endpoint.
-
listen
-
pause
Description copied from interface:ConnectionAcceptorSuspends the I/O reactor preventing it from accepting new connections on all active endpoints.- Specified by:
pausein interfaceConnectionAcceptor- Throws:
IOException- in case of an I/O error.
-
resume
Description copied from interface:ConnectionAcceptorResumes the I/O reactor restoring its ability to accept incoming connections on all active endpoints.- Specified by:
resumein interfaceConnectionAcceptor- Throws:
IOException- in case of an I/O error.
-
getEndpoints
Description copied from interface:ConnectionAcceptorReturns a set of endpoints for this I/O reactor.- Specified by:
getEndpointsin interfaceConnectionAcceptor- Returns:
- set of endpoints.
-
getStatus
Description copied from interface:IOReactorReturns the current status of the reactor. -
initiateShutdown
public void initiateShutdown()Description copied from interface:IOReactorInitiates shutdown of the reactor without blocking. The reactor is expected to terminate all active connections, to shut down itself and to release system resources it currently holds- Specified by:
initiateShutdownin interfaceIOReactor
-
awaitShutdown
Description copied from interface:IOReactorBlocks for the given period of time in milliseconds awaiting the completion of the reactor shutdown.- Specified by:
awaitShutdownin interfaceIOReactor- Parameters:
waitTime- wait time.- Throws:
InterruptedException
-
close
Description copied from interface:IOReactorShuts down the I/O reactor either gracefully or immediately. During graceful shutdown individual I/O sessions should be informed about imminent termination and be given a grace period to complete the ongoing I/O sessions. During immediate shutdown all ongoing I/O sessions get aborted immediately.- Specified by:
closein interfaceIOReactor- Specified by:
closein interfaceModalCloseable- Parameters:
closeMode- How to close the receiver.
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-