net.i2p.client.streaming

## Class I2PServerSocketImpl

- java.lang.Object
- - net.i2p.client.streaming.I2PServerSocketImpl

- All Implemented Interfaces:
    I2PServerSocket

  Deprecated.
  use I2PServerSocketFull

       class I2PServerSocketImpl
      extends Object
      implements I2PServerSocket

  Server socket implementation, allowing multiple threads to accept I2PSockets and pull from a queue populated by various threads (each of whom have their own timeout)

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `I2PServerSocketImpl(I2PSocketManager mgr)` Deprecated.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `I2PSocket` | `accept()` Deprecated. Waits for the next socket connecting.
    `boolean` | `addWaitForAccept(I2PSocket s, long timeoutMs)` Deprecated. Make the socket available and wait until the client app accepts it, or until the given timeout elapses.
    `void` | `close()` Deprecated. Closes the socket.
    `I2PSocketManager` | `getManager()` Deprecated. Access the manager which is coordinating the server socket
    `long` | `getSoTimeout()` Deprecated. Get Sock Option accept timeout stub, does nothing in ministreaming
    `void` | `setSoTimeout(long x)` Deprecated. Set Sock Option accept timeout stub, does nothing in ministreaming

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### I2PServerSocketImpl

          public I2PServerSocketImpl(I2PSocketManager mgr)

      Deprecated.

  - ### Method Detail

    - #### setSoTimeout

          public void setSoTimeout(long x)

      Deprecated.
      Set Sock Option accept timeout stub, does nothing in ministreaming
      Specified by:
        `setSoTimeout` in interface `I2PServerSocket`
      Parameters:
        `x` -

    - #### getSoTimeout

          public long getSoTimeout()

      Deprecated.
      Get Sock Option accept timeout stub, does nothing in ministreaming
      Specified by:
        `getSoTimeout` in interface `I2PServerSocket`
      Returns:
        timeout

    - #### accept

          public I2PSocket accept()
                           throws I2PException,
                                  ConnectException

      Deprecated.
      Waits for the next socket connecting. If a remote user tried to make a connection and the local application wasn't .accept()ing new connections, they should get refused (if .accept() doesnt occur in some small period - currently 5 seconds)
      Specified by:
        `accept` in interface `I2PServerSocket`
      Returns:
        a connected I2PSocket
      Throws:
        `I2PException` - if there is a problem with reading a new socket from the data available (aka the I2PSession closed, etc)
        `ConnectException` - if the I2PServerSocket is closed

    - #### addWaitForAccept

          public boolean addWaitForAccept(I2PSocket s,
                                 long timeoutMs)

      Deprecated.
      Make the socket available and wait until the client app accepts it, or until the given timeout elapses. This doesn't have any limits on the queue size - perhaps it should add some choking (e.g. after 5 waiting for accept, refuse)
      Parameters:
        `timeoutMs` - how long to wait until accept
      Returns:
        true if the socket was accepted, false if the timeout expired or the socket was closed

    - #### close

          public void close()

      Deprecated.
      Description copied from interface: `I2PServerSocket`
      Closes the socket.
      Specified by:
        `close` in interface `I2PServerSocket`

    - #### getManager

          public I2PSocketManager getManager()

      Deprecated.
      Description copied from interface: `I2PServerSocket`
      Access the manager which is coordinating the server socket
      Specified by:
        `getManager` in interface `I2PServerSocket`
      Returns:
        I2PSocketManager