Streaming: Add reset() to I2PSocket API

i2ptunnel: Reset I2P socket on TCP socket errors, in standard servers
that don't have protocol responses
SAM: Reset I2P socket on handler errors
This commit is contained in:
zzz
2017-03-13 14:09:27 +00:00
parent ad810de747
commit e7cfb2d6fe
11 changed files with 65 additions and 10 deletions

View File

@@ -389,7 +389,7 @@ class MasterSession extends SAMv3StreamSession implements SAMDatagramReceiver, S
boolean ok = ssess.queueSocket(i2ps);
if (!ok) {
_log.logAlways(Log.WARN, "Accept queue overflow for " + ssess);
try { i2ps.close(); } catch (IOException ioe) {}
try { i2ps.reset(); } catch (IOException ioe) {}
}
} else {
if (_log.shouldLog(Log.WARN))

View File

@@ -564,7 +564,7 @@ class SAMStreamSession implements SAMMessageSess {
int id = createSocketHandler(i2ps, 0);
if (id == 0) {
_log.error("SAM STREAM session handler not created!");
i2ps.close();
i2ps.reset();
continue;
}

View File

@@ -383,7 +383,7 @@ class SAMv3StreamSession extends SAMStreamSession implements Session
Log log = ctx.logManager().getLog(SAMv3StreamSession.class);
log.error("SSL error", gse);
try {
i2ps.close();
i2ps.reset();
} catch (IOException ee) {}
throw new RuntimeException("SSL error", gse);
}
@@ -401,7 +401,7 @@ class SAMv3StreamSession extends SAMStreamSession implements Session
if (log.shouldLog(Log.WARN))
log.warn("Error forwarding", ioe);
try {
i2ps.close();
i2ps.reset();
} catch (IOException ee) {}
continue;
}
@@ -433,7 +433,7 @@ class SAMv3StreamSession extends SAMStreamSession implements Session
clientServerSock.close();
} catch (IOException ee) {}
try {
i2ps.close();
i2ps.reset();
} catch (IOException ee) {}
continue ;
}