Latency reduction all over:

- SSU: Reduce ack delay
- Streaming: Reduce min RTO and flusher delay
- Tunnels: Reduce GW batching time
This commit is contained in:
zzz
2015-01-05 13:19:34 +00:00
parent d7895a456a
commit 045f6dccf8
5 changed files with 10 additions and 6 deletions

View File

@ -85,7 +85,7 @@ class Connection {
private long _lifetimeDupMessageReceived; private long _lifetimeDupMessageReceived;
public static final long MAX_RESEND_DELAY = 45*1000; public static final long MAX_RESEND_DELAY = 45*1000;
public static final long MIN_RESEND_DELAY = 2*1000; public static final long MIN_RESEND_DELAY = 1000;
/** /**
* Wait up to 5 minutes after disconnection so we can ack/close packets. * Wait up to 5 minutes after disconnection so we can ack/close packets.

View File

@ -50,7 +50,7 @@ class MessageOutputStream extends OutputStream {
* Since this is less than i2ptunnel's i2p.streaming.connectDelay default of 1000, * Since this is less than i2ptunnel's i2p.streaming.connectDelay default of 1000,
* we only wait 250 at the start. Guess that's ok, 1000 is too long anyway. * we only wait 250 at the start. Guess that's ok, 1000 is too long anyway.
*/ */
private static final int DEFAULT_PASSIVE_FLUSH_DELAY = 250; private static final int DEFAULT_PASSIVE_FLUSH_DELAY = 175;
/**** /****
public MessageOutputStream(I2PAppContext ctx, DataReceiver receiver) { public MessageOutputStream(I2PAppContext ctx, DataReceiver receiver) {

View File

@ -4,6 +4,10 @@
- Include in update, use version in base dir too - Include in update, use version in base dir too
- Increase limits - Increase limits
- Bug fixes - Bug fixes
* Latency reduction all over:
- SSU: Reduce ack delay
- Streaming: Reduce min RTO and flusher delay
- Tunnels: Reduce GW batching time
* UrlLauncher: * UrlLauncher:
- Configure browser with routerconsole.browser (ticket #1159) - Configure browser with routerconsole.browser (ticket #1159)
- Convert to ClientApp interface - Convert to ClientApp interface

View File

@ -28,7 +28,7 @@ class ACKSender implements Runnable {
private static final long POISON_PS = -9999999999l; private static final long POISON_PS = -9999999999l;
/** how frequently do we want to send ACKs to a peer? */ /** how frequently do we want to send ACKs to a peer? */
static final int ACK_FREQUENCY = 350; static final int ACK_FREQUENCY = 250;
public ACKSender(RouterContext ctx, UDPTransport transport) { public ACKSender(RouterContext ctx, UDPTransport transport) {
_context = ctx; _context = ctx;

View File

@ -24,11 +24,11 @@ class BatchedRouterPreprocessor extends BatchedPreprocessor {
/** This goes in router advanced config */ /** This goes in router advanced config */
public static final String PROP_ROUTER_BATCH_FREQUENCY = "router.batchFrequency"; public static final String PROP_ROUTER_BATCH_FREQUENCY = "router.batchFrequency";
/** for client OBGWs only (our data) */ /** for client OBGWs only (our data) */
public static final int OB_CLIENT_BATCH_FREQ = 100; public static final int OB_CLIENT_BATCH_FREQ = 75;
/** for exploratory OBGWs only (our tunnel tests and build messages) */ /** for exploratory OBGWs only (our tunnel tests and build messages) */
public static final int OB_EXPL_BATCH_FREQ = 150; public static final int OB_EXPL_BATCH_FREQ = 100;
/** for IBGWs for efficiency (not our data) */ /** for IBGWs for efficiency (not our data) */
public static final int DEFAULT_BATCH_FREQUENCY = 250; public static final int DEFAULT_BATCH_FREQUENCY = 175;
/** for OBGWs */ /** for OBGWs */
public BatchedRouterPreprocessor(RouterContext ctx, TunnelCreatorConfig cfg) { public BatchedRouterPreprocessor(RouterContext ctx, TunnelCreatorConfig cfg) {