Package net.i2p.i2pcontrol
Class SocketController
java.lang.Object
net.i2p.i2pcontrol.SocketController
public class SocketController extends Object implements RouterApp
This handles the starting and stopping of a ServerSocket
from a single static class so it can be called via clients.config.
This class is NOT used for the webapp or the HTTP/HTTPS implementation.
- Author:
- hottuna
-
Field Summary
Fields Modifier and Type Field Description (package private) static String
PROP_ALLOWED_HOSTS
-
Constructor Summary
Constructors Constructor Description SocketController(RouterContext ctx, ClientAppManager mgr, String[] args)
RouterApp (new way) -
Method Summary
Modifier and Type Method Description ServerSocket
buildServer()
Builds a new server.String
getDisplayName()
The display name of the ClientApp, used in user interfaces.String
getName()
The generic name of the ClientApp, used for registration, e.g.ClientAppState
getState()
The current state of the ClientApp.void
shutdown(String[] args)
Do not take a long time.void
startup()
Do not take a long time.
-
Field Details
-
PROP_ALLOWED_HOSTS
- See Also:
- Constant Field Values
-
-
Constructor Details
-
SocketController
RouterApp (new way)- Throws:
IOException
-
-
Method Details
-
startup
public void startup()Description copied from interface:ClientApp
Do not take a long time. Do not block. Start threads here if necessary. Client must call ClientAppManager.notify() at least once within this method to change the state from INITIALIZED to something else. Will not be called multiple times on the same object. -
shutdown
Description copied from interface:ClientApp
Do not take a long time. Do not block. Use a thread if necessary. If previously running, client must call ClientAppManager.notify() at least once within this method to change the state to STOPPING or STOPPED. May be called multiple times on the same object, in any state. -
getState
Description copied from interface:ClientApp
The current state of the ClientApp. -
getName
Description copied from interface:ClientApp
The generic name of the ClientApp, used for registration, e.g. "console". Do not translate. -
getDisplayName
Description copied from interface:ClientApp
The display name of the ClientApp, used in user interfaces. The app must translate.- Specified by:
getDisplayName
in interfaceClientApp
- Returns:
- non-null
-
buildServer
Builds a new server. Used for changing ports during operation and such. Does NOT start the server. Must call start() on the returned server.- Returns:
- Server - A new server built from current configuration.
- Throws:
IOException
-