From ddbe1bc8fc15b3474d663d8488b92030546cfc42 Mon Sep 17 00:00:00 2001 From: Lanius Trolling Date: Sun, 24 Dec 2023 13:03:52 -0500 Subject: [PATCH] Replace MutableMap with concurrent maps --- .idea/artifacts/map_viewer_js.xml | 8 -------- .idea/misc.xml | 2 +- src/jvmMain/kotlin/info/mechyrdia/data/nations.kt | 3 ++- .../kotlin/info/mechyrdia/lore/preparser_functions.kt | 3 ++- 4 files changed, 5 insertions(+), 11 deletions(-) delete mode 100644 .idea/artifacts/map_viewer_js.xml diff --git a/.idea/artifacts/map_viewer_js.xml b/.idea/artifacts/map_viewer_js.xml deleted file mode 100644 index 9769f80..0000000 --- a/.idea/artifacts/map_viewer_js.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - $PROJECT_DIR$/map-viewer/build/libs - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 1ad7afe..0aceffa 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -94,7 +94,7 @@ - + diff --git a/src/jvmMain/kotlin/info/mechyrdia/data/nations.kt b/src/jvmMain/kotlin/info/mechyrdia/data/nations.kt index 255e0f0..4bb5f21 100644 --- a/src/jvmMain/kotlin/info/mechyrdia/data/nations.kt +++ b/src/jvmMain/kotlin/info/mechyrdia/data/nations.kt @@ -11,6 +11,7 @@ import io.ktor.server.sessions.* import io.ktor.util.* import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable +import java.util.concurrent.ConcurrentHashMap @Serializable data class NationData( @@ -49,7 +50,7 @@ val CallNationCacheAttribute = AttributeKey, NationDat val ApplicationCall.nationCache: MutableMap, NationData> get() = attributes.getOrNull(CallNationCacheAttribute) - ?: mutableMapOf, NationData>().also { cache -> + ?: ConcurrentHashMap, NationData>().also { cache -> attributes.put(CallNationCacheAttribute, cache) } diff --git a/src/jvmMain/kotlin/info/mechyrdia/lore/preparser_functions.kt b/src/jvmMain/kotlin/info/mechyrdia/lore/preparser_functions.kt index bdc6302..53c34d0 100644 --- a/src/jvmMain/kotlin/info/mechyrdia/lore/preparser_functions.kt +++ b/src/jvmMain/kotlin/info/mechyrdia/lore/preparser_functions.kt @@ -7,6 +7,7 @@ import io.ktor.util.* import java.io.File import java.io.Writer import java.security.MessageDigest +import java.util.concurrent.ConcurrentHashMap import javax.script.Compilable import javax.script.CompiledScript import javax.script.ScriptEngineManager @@ -25,7 +26,7 @@ value class ScriptedMustacheLambda(private val script: CompiledScript) : Mustach object PreParserFunctions { private val scriptEngine = ThreadLocal.withInitial { ScriptEngineManager().getEngineByExtension("groovy") } private val hasher = ThreadLocal.withInitial { MessageDigest.getInstance("SHA-256") } - private val cache = mutableMapOf() + private val cache = ConcurrentHashMap() private fun loadFunction(name: String): Mustache.Lambda { val scriptFile = File(Configuration.CurrentConfiguration.scriptDir).combineSafe("$name.groovy") -- 2.25.1