From 345de4d7347d4377cdd34de0396993b1b64d3534 Mon Sep 17 00:00:00 2001 From: nathan Date: Tue, 18 Aug 2020 22:37:08 +0200 Subject: [PATCH] take/return kryo no longer need to suspend --- .../network/serialization/NetworkSerializationManager.kt | 4 ++-- src/dorkbox/network/serialization/Serialization.kt | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/dorkbox/network/serialization/NetworkSerializationManager.kt b/src/dorkbox/network/serialization/NetworkSerializationManager.kt index 84f847de..3767b6c8 100644 --- a/src/dorkbox/network/serialization/NetworkSerializationManager.kt +++ b/src/dorkbox/network/serialization/NetworkSerializationManager.kt @@ -80,12 +80,12 @@ interface NetworkSerializationManager : SerializationManager { /** * @return takes a kryo instance from the pool. */ - suspend fun takeKryo(): KryoExtra + fun takeKryo(): KryoExtra /** * Returns a kryo instance to the pool. */ - suspend fun returnKryo(kryo: KryoExtra) + fun returnKryo(kryo: KryoExtra) /** * @return true if the remote kryo registration are the same as our own diff --git a/src/dorkbox/network/serialization/Serialization.kt b/src/dorkbox/network/serialization/Serialization.kt index 2287f9db..96968ceb 100644 --- a/src/dorkbox/network/serialization/Serialization.kt +++ b/src/dorkbox/network/serialization/Serialization.kt @@ -555,7 +555,7 @@ class Serialization(private val references: Boolean, /** * @return takes a kryo instance from the pool. */ - override suspend fun takeKryo(): KryoExtra { + override fun takeKryo(): KryoExtra { // ALWAYS get as many as needed. Recycle them to prevent too many getting created return kryoPool.poll() ?: initKryo() } @@ -563,8 +563,9 @@ class Serialization(private val references: Boolean, /** * Returns a kryo instance to the pool for use later on */ - override suspend fun returnKryo(kryo: KryoExtra) { - kryoPool.send(kryo) + override fun returnKryo(kryo: KryoExtra) { + // return as much as we can. don't suspend if the pool is full, we just throw it away. + kryoPool.offer(kryo) } /**