|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.i2p.client.streaming.impl.ConnectionManager
class ConnectionManager
Coordinate all of the connections for a single local destination.
Nested Class Summary | |
---|---|
static interface |
ConnectionManager.PingNotifier
The callback interface for a pong. |
Field Summary | |
---|---|
static String |
PROP_BLACKLIST
|
Constructor Summary | |
---|---|
ConnectionManager(I2PAppContext context,
I2PSession session,
ConnectionOptions defaultOptions)
Manage all conns for this session |
Method Summary | |
---|---|
boolean |
answerPings()
do we respond to pings that aren't on an existing connection? |
Connection |
connect(Destination peer,
ConnectionOptions opts,
I2PSession session)
Build a new connection to the given peer. |
void |
disconnectAllHard()
Something b0rked hard, so kill all of our connections without mercy. |
boolean |
getAllowIncomingConnections()
|
(package private) Connection |
getConnectionByInboundId(long id)
|
(package private) Connection |
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... |
ConnectionHandler |
getConnectionHandler()
|
MessageHandler |
getMessageHandler()
|
PacketHandler |
getPacketHandler()
|
PacketQueue |
getPacketQueue()
|
I2PSession |
getSession()
This is the primary session only |
long |
getSoTimeout()
Get the socket accept() timeout. |
Set<Connection> |
listConnections()
return a set of Connection objects |
boolean |
ping(Destination peer,
int fromPort,
int toPort,
long timeoutMs)
blocking |
boolean |
ping(Destination peer,
int fromPort,
int toPort,
long timeoutMs,
boolean blocking)
|
boolean |
ping(Destination peer,
int fromPort,
int toPort,
long timeoutMs,
boolean blocking,
ConnectionManager.PingNotifier notifier)
|
byte[] |
ping(Destination peer,
int fromPort,
int toPort,
long timeoutMs,
byte[] payload)
blocking |
boolean |
ping(Destination peer,
long timeoutMs)
blocking |
Connection |
receiveConnection(Packet synPacket)
Create a new connection based on the SYN packet we received. |
boolean |
receivePing(Connection con,
Packet ping)
Process a ping by checking for throttling, etc., then sending a pong. |
(package private) void |
receivePong(long pingId,
ByteArray payload)
|
void |
removeConnection(Connection con)
Drop the (already closed) connection on the floor. |
void |
setAllowIncomingConnections(boolean allow)
|
void |
setSoTimeout(long x)
Set the socket accept() timeout. |
void |
shutdown()
Kill all connections and the timers. |
String |
toString()
|
void |
updateOptions()
|
void |
updateOptsFromShare(Connection con)
|
void |
updateShareOpts(Connection con)
|
boolean |
wasRecentlyClosed(long inboundID)
Was this conn recently closed? |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final String PROP_BLACKLIST
Constructor Detail |
---|
public ConnectionManager(I2PAppContext context, I2PSession session, ConnectionOptions defaultOptions)
Method Detail |
---|
Connection getConnectionByInboundId(long id)
Connection getConnectionByOutboundId(long id)
public boolean wasRecentlyClosed(long inboundID)
public void setSoTimeout(long x)
x
- public long getSoTimeout()
public void setAllowIncomingConnections(boolean allow)
public void updateOptions()
public boolean getAllowIncomingConnections()
public Connection receiveConnection(Packet synPacket)
synPacket
- SYN packet to process
public boolean receivePing(Connection con, Packet ping)
con
- null if unknownping
- Ping packet to process, must have From and Sig fields,
with signature already verified, only if answerPings() returned true
public Connection connect(Destination peer, ConnectionOptions opts, I2PSession session)
peer
- Destination to contactopts
- Connection's optionssession
- generally the session from the constructor, but could be a subsession
public MessageHandler getMessageHandler()
public PacketHandler getPacketHandler()
public I2PSession getSession()
public void updateOptsFromShare(Connection con)
public void updateShareOpts(Connection con)
public ConnectionHandler getConnectionHandler()
public PacketQueue getPacketQueue()
public boolean answerPings()
public void disconnectAllHard()
public void shutdown()
public void removeConnection(Connection con)
con
- Connection to drop.public Set<Connection> listConnections()
public boolean ping(Destination peer, long timeoutMs)
timeoutMs
- greater than zero
public boolean ping(Destination peer, int fromPort, int toPort, long timeoutMs)
timeoutMs
- greater than zero
public boolean ping(Destination peer, int fromPort, int toPort, long timeoutMs, boolean blocking)
timeoutMs
- greater than zero
public boolean ping(Destination peer, int fromPort, int toPort, long timeoutMs, boolean blocking, ConnectionManager.PingNotifier notifier)
timeoutMs
- greater than zeronotifier
- may be null
public byte[] ping(Destination peer, int fromPort, int toPort, long timeoutMs, byte[] payload)
timeoutMs
- greater than zeropayload
- non-null, include in packet, up to 32 bytes may be returned in pong
not copied, do not modify
void receivePong(long pingId, ByteArray payload)
payload
- may be nullpublic String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |