Code cleanup

This commit is contained in:
Robinson 2023-10-24 13:13:06 +02:00
parent 14544d3296
commit 4906e94aef
No known key found for this signature in database
GPG Key ID: 8E7DB78588BD6F5C
2 changed files with 15 additions and 9 deletions

View File

@ -21,6 +21,7 @@ import dorkbox.network.connection.*
import dorkbox.network.connection.IpInfo.Companion.IpListenType
import dorkbox.network.connection.ListenerManager.Companion.cleanStackTrace
import dorkbox.network.connection.session.SessionManagerFull
import dorkbox.network.connection.session.SessionServer
import dorkbox.network.connectionType.ConnectionRule
import dorkbox.network.exceptions.ServerException
import dorkbox.network.handshake.ServerHandshake

View File

@ -56,19 +56,23 @@ open class Session<CONNECTION: SessionConnection>(@Volatile var connection: CONN
connection.logger.debug("[{}] restoring connection", connection)
lock.withLock {
val oldProxyObjects = oldProxyObjects
val oldProxyCallbacks = oldProxyCallbacks
val oldImplObjects = oldImplObjects
// this is called, even on a brand-new session, so we must have extra checks in place.
val rmi = connection.rmi
if (oldProxyObjects != null) {
rmi.recreateProxyObjects(oldProxyObjects!!)
oldProxyObjects = null
rmi.recreateProxyObjects(oldProxyObjects)
this.oldProxyObjects = null
}
if (oldProxyCallbacks != null) {
rmi.restoreCallbacks(oldProxyCallbacks!!)
oldProxyCallbacks = null
rmi.restoreCallbacks(oldProxyCallbacks)
this.oldProxyCallbacks = null
}
if (oldImplObjects != null) {
rmi.restoreImplObjects(oldImplObjects!!)
oldImplObjects = null
rmi.restoreImplObjects(oldImplObjects)
this.oldImplObjects = null
}
}
}
@ -76,9 +80,10 @@ open class Session<CONNECTION: SessionConnection>(@Volatile var connection: CONN
fun save(connection: CONNECTION) {
connection.logger.debug("[{}] saving connection", connection)
val allProxyObjects = connection.rmi.getAllProxyObjects()
val allProxyCallbacks = connection.rmi.getAllCallbacks()
val allImplObjects = connection.rmi.getAllImplObjects()
val rmi = connection.rmi
val allProxyObjects = rmi.getAllProxyObjects()
val allProxyCallbacks = rmi.getAllCallbacks()
val allImplObjects = rmi.getAllImplObjects()
// we want to save all the connection RMI objects, so they can be recreated on connect
lock.withLock {