org.apache.http.nio.reactor
Interface ListeningIOReactor

All Superinterfaces:
IOReactor
All Known Implementing Classes:
DefaultListeningIOReactor

public interface ListeningIOReactor
extends IOReactor

ListeningIOReactor represents an I/O reactor capable of listening for incoming connections on one or several ports.

Since:
4.0

Method Summary
 Set<ListenerEndpoint> getEndpoints()
          Returns a set of endpoints for this I/O reactor.
 ListenerEndpoint listen(SocketAddress address)
          Opens a new listener endpoint with the given socket address.
 void pause()
          Suspends the I/O reactor preventing it from accepting new connections on all active endpoints.
 void resume()
          Resumes the I/O reactor restoring its ability to accept incoming connections on all active endpoints.
 
Methods inherited from interface org.apache.http.nio.reactor.IOReactor
execute, getStatus, shutdown, shutdown
 

Method Detail

listen

ListenerEndpoint listen(SocketAddress address)
Opens 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.

ListenerEndpoint.waitFor() can be used to wait for the listener to be come ready to accept incoming connections.

ListenerEndpoint.close() can be used to shut down the listener even before it is fully initialized.

Parameters:
address - the socket address to listen on.
Returns:
listener endpoint.

pause

void pause()
           throws IOException
Suspends the I/O reactor preventing it from accepting new connections on all active endpoints.

Throws:
IOException - in case of an I/O error.

resume

void resume()
            throws IOException
Resumes the I/O reactor restoring its ability to accept incoming connections on all active endpoints.

Throws:
IOException - in case of an I/O error.

getEndpoints

Set<ListenerEndpoint> getEndpoints()
Returns a set of endpoints for this I/O reactor.

Returns:
set of endpoints.


Copyright © 2005–2021 The Apache Software Foundation. All rights reserved.