## net.i2p.router.client
Class SSLClientListenerRunner

    java.lang.Object
      net.i2p.router.client.ClientListenerRunner
          net.i2p.router.client.SSLClientListenerRunner

All Implemented Interfaces:
  Runnable

     class SSLClientListenerRunner

extends ClientListenerRunner

SSL version of ClientListenerRunner

Since:
  0.8.3
Author:
  zzz

Field Summary

Fields inherited from class net.i2p.router.client.ClientListenerRunner
`_bindAllInterfaces, _context, _listening, _log, _manager, _port, _running, _socket, BIND_ALL_INTERFACES, CONNECT_TIMEOUT`

Constructor Summary
`SSLClientListenerRunner(RouterContext context, ClientManager manager, int port)`

Method Summary
`protected ServerSocket` `getServerSocket()` Get a SSLServerSocket.
`void` `runServer()` Create (if necessary) and load the key store, then run.
`protected boolean` `validate(Socket socket)` Overridden because SSL handshake may need more time, and available() in super doesn't work.

Methods inherited from class net.i2p.router.client.ClientListenerRunner
`isListening, run, runConnection, stopListening`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SSLClientListenerRunner

    public SSLClientListenerRunner(RouterContext context,
                                   ClientManager manager,
                                   int port)

Method Detail

### getServerSocket

    protected ServerSocket getServerSocket()
                                    throws IOException

  Get a SSLServerSocket.

  Overrides:
    `getServerSocket` in class `ClientListenerRunner`
  Throws:
    `IOException`

### runServer

    public void runServer()

  Create (if necessary) and load the key store, then run.

  Overrides:
    `runServer` in class `ClientListenerRunner`

### validate

    protected boolean validate(Socket socket)

  Overridden because SSL handshake may need more time, and available() in super doesn't work. The handshake doesn't start until a read().

  Overrides:
    `validate` in class `ClientListenerRunner`