* Client:

- Fail if no date handshake after 30s or no leaseset
        after 5m, rather than hanging forever.
This commit is contained in:
zzz
2009-08-27 03:52:14 +00:00
parent 593d4dc508
commit 1ecf4377c6

View File

@ -283,7 +283,10 @@ abstract class I2PSessionImpl implements I2PSession, I2CPMessageReader.I2CPMessa
if (_log.shouldLog(Log.DEBUG)) _log.debug(getPrefix() + "Before getDate");
sendMessage(new GetDateMessage());
if (_log.shouldLog(Log.DEBUG)) _log.debug(getPrefix() + "After getDate / begin waiting for a response");
int waitcount = 0;
while (!_dateReceived) {
if (waitcount++ > 30)
throw new IOException("no date handshake");
try {
synchronized (_dateReceivedLock) {
_dateReceivedLock.wait(1000);
@ -298,7 +301,10 @@ abstract class I2PSessionImpl implements I2PSession, I2CPMessageReader.I2CPMessa
if (_log.shouldLog(Log.DEBUG)) _log.debug(getPrefix() + "After producer.connect()");
// wait until we have created a lease set
waitcount = 0;
while (_leaseSet == null) {
if (waitcount++ > 5*60)
throw new IOException("no leaseset");
synchronized (_leaseSetWait) {
try {
_leaseSetWait.wait(1000);