|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.i2p.client.streaming.Connection
Maintain the state controlling a streaming connection between two destinations.
Field Summary | |
static int |
DISCONNECT_TIMEOUT
wait up to 5 minutes after disconnection so we can ack/close packets |
static long |
MAX_RESEND_DELAY
|
static int |
MAX_WINDOW_SIZE
lets be sane- no more than 64 packets in the air in each dir |
static long |
MIN_RESEND_DELAY
|
Constructor Summary | |
Connection(I2PAppContext ctx,
ConnectionManager manager,
SchedulerChooser chooser,
PacketQueue queue,
ConnectionPacketHandler handler)
|
|
Connection(I2PAppContext ctx,
ConnectionManager manager,
SchedulerChooser chooser,
PacketQueue queue,
ConnectionPacketHandler handler,
ConnectionOptions opts)
|
Method Summary | |
(package private) void |
ackImmediately()
|
(package private) java.util.List |
ackPackets(long ackThrough,
long[] nacks)
|
(package private) void |
closeReceived()
|
(package private) void |
congestionOccurred()
|
(package private) void |
disconnect(boolean cleanDisconnect)
|
(package private) void |
disconnect(boolean cleanDisconnect,
boolean removeFromConMgr)
|
(package private) void |
disconnectComplete()
|
(package private) void |
eventOccurred()
|
long |
getAckedPackets()
|
long |
getCloseReceivedOn()
|
long |
getCloseSentOn()
|
long |
getCongestionWindowEnd()
|
java.lang.String |
getConnectionError()
|
long |
getCreatedOn()
|
long |
getDisconnectScheduledOn()
|
boolean |
getHardDisconnected()
|
long |
getHighestAckedThrough()
|
MessageInputStream |
getInputStream()
stream that the local peer receives data on |
boolean |
getIsConnected()
|
long |
getLastActivityOn()
|
int |
getLastCongestionSeenAt()
|
long |
getLastSendId()
what was the last packet Id sent to the peer? |
long |
getLastSendTime()
when did we last send anything to the peer? |
long |
getLifetime()
|
long |
getLifetimeBytesReceived()
|
long |
getLifetimeBytesSent()
|
long |
getLifetimeDupMessagesReceived()
|
long |
getLifetimeDupMessagesSent()
|
long |
getNextOutboundPacketNum()
|
long |
getNextSendTime()
Time when the scheduler next want to send a packet, or -1 if never. |
ConnectionOptions |
getOptions()
|
MessageOutputStream |
getOutputStream()
stream that the local peer sends data to the remote peer on |
ConnectionPacketHandler |
getPacketHandler()
|
byte[] |
getReceiveStreamId()
stream the peer sends data to us on. |
Destination |
getRemotePeer()
who are we talking with |
boolean |
getResetReceived()
|
boolean |
getResetSent()
|
long |
getResetSentOn()
|
byte[] |
getSendStreamId()
what stream do we send data to the peer on? |
I2PSession |
getSession()
|
I2PSocketFull |
getSocket()
|
int |
getUnackedPacketsReceived()
|
int |
getUnackedPacketsSent()
|
void |
incrementBytesReceived(int bytes)
|
void |
incrementBytesSent(int bytes)
|
void |
incrementDupMessagesReceived(int msgs)
|
void |
incrementDupMessagesSent(int msgs)
|
void |
incrementUnackedPacketsReceived()
|
(package private) void |
packetReceived()
|
(package private) boolean |
packetSendChoke(long timeoutMs)
Block until there is an open outbound packet slot or the write timeout expires. |
(package private) void |
resetReceived()
|
(package private) void |
sendAvailable()
Flush any data that we can |
(package private) void |
sendPacket(PacketLocal packet)
|
(package private) void |
sendReset()
got a packet we shouldn't have, send 'em a reset |
void |
setCloseReceivedOn(long when)
|
void |
setCloseSentOn(long when)
|
void |
setCongestionWindowEnd(long endMsg)
|
void |
setConnectionError(java.lang.String err)
|
void |
setHighestAckedThrough(long msgNum)
|
void |
setLastSendId(long id)
|
void |
setLastSendTime(long when)
|
void |
setNextSendTime(long when)
|
void |
setOptions(ConnectionOptions opts)
|
void |
setReceiveStreamId(byte[] id)
|
void |
setRemotePeer(Destination peer)
|
void |
setSendStreamId(byte[] id)
|
void |
setSocket(I2PSocketFull socket)
|
java.lang.String |
toString()
|
(package private) void |
waitForConnect()
wait until a connection is made or the connection fails within the timeout period, setting the error accordingly. |
(package private) void |
windowAdjusted()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final long MAX_RESEND_DELAY
public static final long MIN_RESEND_DELAY
public static int DISCONNECT_TIMEOUT
public static final int MAX_WINDOW_SIZE
Constructor Detail |
public Connection(I2PAppContext ctx, ConnectionManager manager, SchedulerChooser chooser, PacketQueue queue, ConnectionPacketHandler handler)
public Connection(I2PAppContext ctx, ConnectionManager manager, SchedulerChooser chooser, PacketQueue queue, ConnectionPacketHandler handler, ConnectionOptions opts)
Method Detail |
public long getNextOutboundPacketNum()
void closeReceived()
boolean packetSendChoke(long timeoutMs)
void windowAdjusted()
void ackImmediately()
void sendReset()
void sendAvailable()
void sendPacket(PacketLocal packet)
java.util.List ackPackets(long ackThrough, long[] nacks)
void eventOccurred()
void resetReceived()
public boolean getResetReceived()
public boolean getIsConnected()
public boolean getHardDisconnected()
public boolean getResetSent()
public long getResetSentOn()
public long getDisconnectScheduledOn()
void disconnect(boolean cleanDisconnect)
void disconnect(boolean cleanDisconnect, boolean removeFromConMgr)
void disconnectComplete()
public Destination getRemotePeer()
public void setRemotePeer(Destination peer)
public byte[] getSendStreamId()
public void setSendStreamId(byte[] id)
public byte[] getReceiveStreamId()
public void setReceiveStreamId(byte[] id)
public long getLastSendTime()
public void setLastSendTime(long when)
public long getLastSendId()
public void setLastSendId(long id)
public ConnectionOptions getOptions()
public void setOptions(ConnectionOptions opts)
public I2PSession getSession()
public I2PSocketFull getSocket()
public void setSocket(I2PSocketFull socket)
public java.lang.String getConnectionError()
public void setConnectionError(java.lang.String err)
public long getLifetime()
public ConnectionPacketHandler getPacketHandler()
public long getLifetimeBytesSent()
public long getLifetimeBytesReceived()
public long getLifetimeDupMessagesSent()
public long getLifetimeDupMessagesReceived()
public void incrementBytesSent(int bytes)
public void incrementDupMessagesSent(int msgs)
public void incrementBytesReceived(int bytes)
public void incrementDupMessagesReceived(int msgs)
public long getNextSendTime()
public void setNextSendTime(long when)
public long getAckedPackets()
public long getCreatedOn()
public long getCloseSentOn()
public void setCloseSentOn(long when)
public long getCloseReceivedOn()
public void setCloseReceivedOn(long when)
public void incrementUnackedPacketsReceived()
public int getUnackedPacketsReceived()
public int getUnackedPacketsSent()
public long getCongestionWindowEnd()
public void setCongestionWindowEnd(long endMsg)
public long getHighestAckedThrough()
public void setHighestAckedThrough(long msgNum)
public long getLastActivityOn()
public int getLastCongestionSeenAt()
void congestionOccurred()
void packetReceived()
void waitForConnect()
public MessageInputStream getInputStream()
public MessageOutputStream getOutputStream()
public java.lang.String toString()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |