## Uses of Class
net.i2p.client.streaming.Connection

Packages that use Connection
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.

Uses of Connection in net.i2p.client.streaming

Methods in net.i2p.client.streaming that return Connection
`Connection` `ConnectionHandler.accept(long timeoutMs)` Receive an incoming connection (built from a received SYN) Non-SYN packets with a zero SendStreamID may also be queued here so that they don't get thrown away while the SYN packet before it is queued.
`Connection` `ConnectionManager.connect(Destination peer, ConnectionOptions opts)` Build a new connection to the given peer.
`(package private) Connection` `I2PSocketFull.getConnection()`
`Connection` `PacketLocal.getConnection()`
`(package private) Connection` `ConnectionManager.getConnectionByInboundId(long id)`
`(package private) Connection` `ConnectionManager.getConnectionByOutboundId(long id)` not guaranteed to be unique, but in case we receive more than one packet on an inbound connection that we havent ack'ed yet...
`Connection` `ConnectionManager.receiveConnection(Packet synPacket)` Create a new connection based on the SYN packet we received.

Methods in net.i2p.client.streaming that return types with arguments of type Connection
`Set<Connection>` `ConnectionManager.listConnections()` return a set of Connection objects

Methods in net.i2p.client.streaming with parameters of type Connection
`boolean` `SchedulerHardDisconnected.accept(Connection con)`
`boolean` `SchedulerClosed.accept(Connection con)`
`boolean` `SchedulerClosing.accept(Connection con)`
`boolean` `TaskScheduler.accept(Connection con)` Determine whether this scheduler is fit to operate against the given connection
`boolean` `SchedulerConnectedBulk.accept(Connection con)`
`boolean` `SchedulerReceived.accept(Connection con)`
`boolean` `SchedulerConnecting.accept(Connection con)`
`boolean` `SchedulerDead.accept(Connection con)`
`boolean` `SchedulerPreconnect.accept(Connection con)`
`void` `SchedulerHardDisconnected.eventOccurred(Connection con)`
`void` `SchedulerClosed.eventOccurred(Connection con)`
`void` `SchedulerClosing.eventOccurred(Connection con)`
`void` `TaskScheduler.eventOccurred(Connection con)` An event has occurred (timeout, message sent, or message received), so schedule what to do next based on our current state.
`void` `SchedulerConnectedBulk.eventOccurred(Connection con)`
`void` `SchedulerReceived.eventOccurred(Connection con)`
`void` `SchedulerConnecting.eventOccurred(Connection con)`
`void` `SchedulerDead.eventOccurred(Connection con)`
`void` `SchedulerPreconnect.eventOccurred(Connection con)`
`TaskScheduler` `SchedulerChooser.getScheduler(Connection con)`
`(package private) void` `ConnectionPacketHandler.receivePacket(Packet packet, Connection con)` distribute a packet to the connection specified
`void` `ConnectionManager.removeConnection(Connection con)` Drop the (already closed) connection on the floor.
`protected void` `SchedulerImpl.reschedule(long msToWait, Connection con)`
`void` `ConnectionManager.updateOptsFromShare(Connection con)`
`void` `TCBShare.updateOptsFromShare(Connection con)`
`void` `ConnectionManager.updateShareOpts(Connection con)`
`void` `TCBShare.updateShareOpts(Connection con)`

Constructors in net.i2p.client.streaming with parameters of type Connection
`ConnectionDataReceiver(I2PAppContext ctx, Connection con)`
`I2PSocketFull(Connection con)`
`PacketLocal(I2PAppContext ctx, Destination to, Connection con)`