SSU: Send subset of fragments (ticket #2427)
if all fragments will not fit in the window. Track per-fragment send count. Reset send window when retransmitting. Update send window when partial acks received. Make OMS.getMaxSends() and getPushCount() track different things. Change OMS.push() to be called by OMF and return the pushed fragments. Use size of smallest fragment rather than total size to determine if we can send a message now. This is an improved fix for ticket #2505. Eliminate repeated calls to OMS.getLifetime() Log tweaks and reduce log levels Improves throughput on lossy connections. Reduces latency for large messages. This is prep for reducing DEFAULT_SEND_WINDOW_BYTES and W+, which would have exacerbated these issues. Additional changes to follow, implementing Westwood+, see #2427
Showing
- history.txt 4 additions, 0 deletionshistory.txt
- router/java/src/net/i2p/router/RouterVersion.java 1 addition, 1 deletionrouter/java/src/net/i2p/router/RouterVersion.java
- router/java/src/net/i2p/router/transport/udp/OutboundMessageFragments.java 5 additions, 12 deletions...et/i2p/router/transport/udp/OutboundMessageFragments.java
- router/java/src/net/i2p/router/transport/udp/OutboundMessageState.java 189 additions, 19 deletions...rc/net/i2p/router/transport/udp/OutboundMessageState.java
- router/java/src/net/i2p/router/transport/udp/PeerState.java 79 additions, 50 deletionsrouter/java/src/net/i2p/router/transport/udp/PeerState.java
Loading
Please register or sign in to comment