Fixed invalid object test case

This commit is contained in:
nathan 2020-09-03 11:15:37 +02:00
parent 8a8dbda3f5
commit 28570d92e9

View File

@ -40,7 +40,6 @@ import com.esotericsoftware.kryo.io.Input
import com.esotericsoftware.kryo.io.Output import com.esotericsoftware.kryo.io.Output
import dorkbox.network.rmi.RemoteObjectStorage import dorkbox.network.rmi.RemoteObjectStorage
import dorkbox.network.serialization.KryoExtra import dorkbox.network.serialization.KryoExtra
import dorkbox.network.serialization.Serialization.Companion.INVALID_KRYO_ID
/** /**
* This is to manage serializing RMI objects across the wire... * This is to manage serializing RMI objects across the wire...
@ -110,14 +109,14 @@ class RmiServerSerializer : Serializer<Any>(false) {
return if (interfaceClass.isInterface) { return if (interfaceClass.isInterface) {
// normal case. RMI only on 1 side // normal case. RMI only on 1 side
val kryoId = serialization.rmiHolder.ifaceToId[interfaceClass]!! val kryoId = serialization.rmiHolder.ifaceToId[interfaceClass]
require(kryoId != INVALID_KRYO_ID) { "Registration for $interfaceClass is invalid!!" } require(kryoId != null) { "Registration for $interfaceClass is invalid!!" }
connection.rmiConnectionSupport.getProxyObject(connection, kryoId, rmiId, interfaceClass) connection.rmiConnectionSupport.getProxyObject(connection, kryoId, rmiId, interfaceClass)
} else { } else {
// BI-DIRECTIONAL RMI -- THIS IS NOT NORMAL! // BI-DIRECTIONAL RMI -- THIS IS NOT NORMAL!
// this won't be an interface. It will be an impl (because of how RMI is setup) // this won't be an interface. It will be an impl (because of how RMI is setup)
val kryoId = serialization.rmiHolder.implToId[interfaceClass]!! val kryoId = serialization.rmiHolder.implToId[interfaceClass]
require(kryoId != INVALID_KRYO_ID) { "Registration for $interfaceClass is invalid!!" } require(kryoId != null) { "Registration for $interfaceClass is invalid!!" }
val iface = serialization.rmiHolder.idToIface[kryoId] val iface = serialization.rmiHolder.idToIface[kryoId]
connection.rmiConnectionSupport.getProxyObject(connection, kryoId, rmiId, iface) connection.rmiConnectionSupport.getProxyObject(connection, kryoId, rmiId, iface)
} }