Avoids interning of large strings and objects where the duplication is not common

This commit is contained in:
Vitor Pamplona
2025-10-28 12:18:19 -04:00
parent 39f3aef7b5
commit bf664ea0c5
3 changed files with 6 additions and 6 deletions

View File

@@ -33,8 +33,8 @@ class IntentResultJsonDeserializer : StdDeserializer<IntentResult>(IntentResult:
val jsonObject: JsonNode = jp.codec.readTree(jp)
return IntentResult(
`package` = jsonObject.get("package")?.asText()?.intern(),
result = jsonObject.get("result")?.asText()?.intern(),
event = jsonObject.get("event")?.asText()?.intern(),
result = jsonObject.get("result")?.asText(),
event = jsonObject.get("event")?.asText(),
id = jsonObject.get("id")?.asText()?.intern(),
rejected = jsonObject.get("rejected")?.asBoolean() ?: false,
)

View File

@@ -42,9 +42,9 @@ class BunkerRequestDeserializer : StdDeserializer<BunkerRequest>(BunkerRequest::
ctxt: DeserializationContext,
): BunkerRequest {
val jsonObject: JsonNode = jp.codec.readTree(jp)
val id = jsonObject.get("id").asText().intern()
val method = jsonObject.get("method").asText().intern()
val params = jsonObject.get("params")?.toTypedArray { it.asText().intern() } ?: emptyArray()
val id = jsonObject.get("id").asText()
val method = jsonObject.get("method").asText()
val params = jsonObject.get("params")?.toTypedArray { it.asText() } ?: emptyArray()
return when (method) {
BunkerRequestConnect.METHOD_NAME -> BunkerRequestConnect.parse(id, params)