Package net.i2p.router.client
Class ClientListenerRunner
- java.lang.Object
-
- net.i2p.router.client.ClientListenerRunner
-
- All Implemented Interfaces:
Runnable
- Direct Known Subclasses:
SSLClientListenerRunner
class ClientListenerRunner extends Object implements Runnable
Listen for connections on the specified port, and toss them onto the client manager's set of connections once they are established. This is not used for internal (in-JVM) connections - see ClientManager and QueuedClientConnectionRunner. Note that this is extended by SSLClientListenerRunner for SSL, and by DomainClientListenerRunner in Android for domain sockets.- Author:
- jrandom
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
_bindAllInterfaces
protected RouterContext
_context
protected boolean
_listening
protected Log
_log
protected ClientManager
_manager
protected int
_port
protected boolean
_running
protected ServerSocket
_socket
static String
BIND_ALL_INTERFACES
protected static int
CONNECT_TIMEOUT
give the i2cp client 5 seconds to show that they're really i2cp clients
-
Constructor Summary
Constructors Constructor Description ClientListenerRunner(RouterContext context, ClientManager manager, int port)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ServerSocket
getServerSocket()
Get a ServerSocket.boolean
isListening()
void
run()
protected void
runConnection(Socket socket)
Handle the connection by passing it off to aClientConnectionRunner
protected void
runServer()
Start up the socket listener, listens for connections, and fires those connections off viarunConnection
.void
stopListening()
protected boolean
validate(Socket socket)
Verify the first byte.
-
-
-
Field Detail
-
_log
protected final Log _log
-
_context
protected final RouterContext _context
-
_manager
protected final ClientManager _manager
-
_socket
protected ServerSocket _socket
-
_port
protected final int _port
-
_bindAllInterfaces
protected final boolean _bindAllInterfaces
-
_running
protected volatile boolean _running
-
_listening
protected volatile boolean _listening
-
BIND_ALL_INTERFACES
public static final String BIND_ALL_INTERFACES
- See Also:
- Constant Field Values
-
CONNECT_TIMEOUT
protected static final int CONNECT_TIMEOUT
give the i2cp client 5 seconds to show that they're really i2cp clients- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ClientListenerRunner
public ClientListenerRunner(RouterContext context, ClientManager manager, int port)
-
-
Method Detail
-
isListening
public boolean isListening()
-
getServerSocket
protected ServerSocket getServerSocket() throws IOException
Get a ServerSocket. Split out so it can be overridden for SSL.- Throws:
IOException
- Since:
- 0.8.3
-
runServer
protected void runServer()
Start up the socket listener, listens for connections, and fires those connections off viarunConnection
. This only returns if the socket cannot be opened or there is a catastrophic failure.
-
validate
protected boolean validate(Socket socket)
Verify the first byte.
-
runConnection
protected void runConnection(Socket socket)
Handle the connection by passing it off to aClientConnectionRunner
-
stopListening
public void stopListening()
-
-