## Uses of Interface
net.i2p.client.streaming.I2PSocket

Packages that use I2PSocket
net.i2p.client.streaming: Implements a TCP-like (reliable, authenticated, in order) set of sockets for communicating over the IP-like (unreliable, unauthenticated, unordered) I2P messages.
net.i2p.i2ptunnel
net.i2p.i2ptunnel.socks

Uses of I2PSocket in net.i2p.client.streaming

Classes in net.i2p.client.streaming that implement I2PSocket
`class` `I2PSocketFull` Bridge between the full streaming lib and the I2PSocket API
`(package private) class` `I2PSocketImpl` Initial stub implementation for the socket

Methods in net.i2p.client.streaming that return I2PSocket
`I2PSocket` `I2PSocketManagerFull.receiveSocket()`
`I2PSocket` `I2PSocketManagerFull.connect(Destination peer, I2PSocketOptions options)` Create a new connected socket (block until the socket is created)
`I2PSocket` `I2PSocketManagerFull.connect(Destination peer)` Create a new connected socket (block until the socket is created)
`I2PSocket` `I2PServerSocketFull.accept()`
`I2PSocket` `I2PSocketManagerImpl.connect(Destination peer, I2PSocketOptions options)` Create a new connected socket (block until the socket is created)
`I2PSocket` `I2PSocketManagerImpl.connect(Destination peer)` Create a new connected socket (block until the socket is created)
`I2PSocket` `I2PSocketManager.connect(Destination peer, I2PSocketOptions options)` Create a new connected socket (block until the socket is created)
`I2PSocket` `I2PSocketManager.connect(Destination peer)` Create a new connected socket (block until the socket is created)
`I2PSocket` `I2PServerSocketImpl.accept()` Waits for the next socket connecting.
`I2PSocket` `I2PServerSocket.accept()` Waits for the next socket connecting.

Methods in net.i2p.client.streaming with parameters of type I2PSocket
`boolean` `I2PServerSocketImpl.addWaitForAccept(I2PSocket s, long timeoutMs)` Make the socket available and wait until the client app accepts it, or until the given timeout elapses.

Uses of I2PSocket in net.i2p.i2ptunnel

Methods in net.i2p.i2ptunnel that return I2PSocket
`I2PSocket` `I2PTunnelClientBase.createI2PSocket(Destination dest)` Create a new I2PSocket towards to the specified destination, adding it to the list of connections actually managed by this tunnel.
`I2PSocket` `I2PTunnelClientBase.createI2PSocket(Destination dest, I2PSocketOptions opt)` Create a new I2PSocket towards to the specified destination, adding it to the list of connections actually managed by this tunnel.

Methods in net.i2p.i2ptunnel with parameters of type I2PSocket
`protected void` `I2PTunnelServer.blockingHandle(I2PSocket socket)`
`protected void` `I2PTunnelRunner.close(java.io.OutputStream out, java.io.InputStream in, java.io.OutputStream i2pout, java.io.InputStream i2pin, java.net.Socket s, I2PSocket i2ps, java.lang.Thread t1, java.lang.Thread t2)`
`protected void` `I2PTunnelHTTPServer.blockingHandle(I2PSocket socket)` Called by the thread pool of I2PSocket handlers
`protected void` `I2PTunnelHTTPClientRunner.close(java.io.OutputStream out, java.io.InputStream in, java.io.OutputStream i2pout, java.io.InputStream i2pin, java.net.Socket s, I2PSocket i2ps, java.lang.Thread t1, java.lang.Thread t2)`

Constructors in net.i2p.i2ptunnel with parameters of type I2PSocket
`I2PTunnelRunner(java.net.Socket s, I2PSocket i2ps, java.lang.Object slock, byte[] initialI2PData, java.util.List sockList)`
`I2PTunnelRunner(java.net.Socket s, I2PSocket i2ps, java.lang.Object slock, byte[] initialI2PData, byte[] initialSocketData, java.util.List sockList)`
`I2PTunnelRunner(java.net.Socket s, I2PSocket i2ps, java.lang.Object slock, byte[] initialI2PData, java.util.List sockList, java.lang.Runnable onTimeout)`
`I2PTunnelRunner(java.net.Socket s, I2PSocket i2ps, java.lang.Object slock, byte[] initialI2PData, byte[] initialSocketData, java.util.List sockList, java.lang.Runnable onTimeout)`
`I2PTunnelHTTPClientRunner(java.net.Socket s, I2PSocket i2ps, java.lang.Object slock, byte[] initialI2PData, java.util.List sockList, java.lang.Runnable onTimeout)`

Uses of I2PSocket in net.i2p.i2ptunnel.socks

Fields in net.i2p.i2ptunnel.socks declared as I2PSocket
`(package private) I2PSocket` `SOCKSServer.destSocket`

Methods in net.i2p.i2ptunnel.socks that return I2PSocket
`I2PSocket` `SOCKSServer.getDestinationI2PSocket()` Get an I2PSocket that can be used to send/receive 8-bit clean data to/from the destination of the SOCKS connection.