Class SocketController

java.lang.Object
net.i2p.i2pcontrol.SocketController
All Implemented Interfaces:
ClientApp, RouterApp

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 Details

  • Constructor Details

  • 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.
      Specified by:
      startup in interface ClientApp
    • shutdown

      public void shutdown​(String[] args)
      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.
      Specified by:
      shutdown in interface ClientApp
      Parameters:
      args - generally null but could be stopArgs from clients.config
    • getState

      public ClientAppState getState()
      Description copied from interface: ClientApp
      The current state of the ClientApp.
      Specified by:
      getState in interface ClientApp
      Returns:
      non-null
    • getName

      public String getName()
      Description copied from interface: ClientApp
      The generic name of the ClientApp, used for registration, e.g. "console". Do not translate.
      Specified by:
      getName in interface ClientApp
      Returns:
      non-null
    • getDisplayName

      public String getDisplayName()
      Description copied from interface: ClientApp
      The display name of the ClientApp, used in user interfaces. The app must translate.
      Specified by:
      getDisplayName in interface ClientApp
      Returns:
      non-null
    • buildServer

      public ServerSocket buildServer() throws IOException
      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