net.i2p.router.client
Class ClientListenerRunner
java.lang.Object
net.i2p.router.client.ClientListenerRunner
- All Implemented Interfaces:
- java.lang.Runnable
- Direct Known Subclasses:
- InternalClientListenerRunner
public class ClientListenerRunner
- extends java.lang.Object
- implements java.lang.Runnable
Listen for connections on the specified port, and toss them onto the client manager's
set of connections once they are established.
- Author:
- jrandom
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
_log
protected Log _log
_context
protected RouterContext _context
_manager
protected ClientManager _manager
_socket
protected java.net.ServerSocket _socket
_port
protected int _port
_running
protected boolean _running
_listening
protected boolean _listening
BIND_ALL_INTERFACES
public static final java.lang.String BIND_ALL_INTERFACES
- See Also:
- Constant Field Values
ClientListenerRunner
public ClientListenerRunner(RouterContext context,
ClientManager manager,
int port)
setPort
public void setPort(int port)
getPort
public int getPort()
isListening
public boolean isListening()
runServer
public void runServer()
- Start up the socket listener, listens for connections, and
fires those connections off via
runConnection
.
This only returns if the socket cannot be opened or there is a catastrophic
failure.
validate
protected boolean validate(java.net.Socket socket)
- Verify the first byte.
The InternalSocket doesn't support SoTimeout, so use available()
instead to prevent hanging.
runConnection
protected void runConnection(java.net.Socket socket)
- Handle the connection by passing it off to a
ClientConnectionRunner
stopListening
public void stopListening()
run
public void run()
- Specified by:
run
in interface java.lang.Runnable