do not exit accept loop on I2PExceptions, GitHub issue #123

dbus-notify
Zlatin Balevsky 2022-03-05 15:13:25 +00:00
parent 75f65a61ca
commit 1fa2ee99f6
No known key found for this signature in database
GPG Key ID: A72832072D525E41
1 changed files with 22 additions and 14 deletions

View File

@ -36,21 +36,29 @@ class I2PConnector {
synchronized void connect() {
if (socketManager != null)
return
keyDat.withInputStream {
socketManager = new I2PSocketManagerFactory().createDisconnectedManager(it, i2cpHost, i2cpPort, i2pProperties)
}
socketManager.getDefaultOptions().with {
setReadTimeout(60000)
setConnectTimeout(15000)
}
socketManager.addDisconnectListener {
socketManager = null
eventBus.publish(new RouterDisconnectedEvent())
}
while(true) {
I2PSocketManager socketManager
keyDat.withInputStream {
socketManager = new I2PSocketManagerFactory().createDisconnectedManager(it, i2cpHost, i2cpPort, i2pProperties)
}
socketManager.getDefaultOptions().with {
setReadTimeout(60000)
setConnectTimeout(15000)
}
socketManager.addDisconnectListener({
this.socketManager = null
eventBus.publish(new RouterDisconnectedEvent())
} as I2PSocketManager.DisconnectListener)
def session = socketManager.getSession()
session.connect()
eventBus.publish(new RouterConnectedEvent(session: session))
def session = socketManager.getSession()
try {
session.connect()
this.socketManager = socketManager
eventBus.publish(new RouterConnectedEvent(session: session))
} catch (Exception e) {
Thread.sleep(1000)
}
}
}
synchronized void shutdown() {