[F] Fix memory leak

This commit is contained in:
Azalea 2025-10-07 03:40:28 +08:00
parent 1cac5e451a
commit dd03ca38a1

View File

@ -1,12 +1,10 @@
package icu.samnyan.aqua.sega.aimedb package icu.samnyan.aqua.sega.aimedb
import ext.* import ext.*
import icu.samnyan.aqua.net.BotProps
import icu.samnyan.aqua.net.Fedy import icu.samnyan.aqua.net.Fedy
import icu.samnyan.aqua.net.db.AquaUserServices import icu.samnyan.aqua.net.db.AquaUserServices
import icu.samnyan.aqua.sega.allnet.AllNetProps import icu.samnyan.aqua.sega.allnet.AllNetProps
import icu.samnyan.aqua.sega.general.model.Card import icu.samnyan.aqua.sega.general.model.Card
import icu.samnyan.aqua.sega.general.model.CardStatus
import icu.samnyan.aqua.sega.general.service.CardService import icu.samnyan.aqua.sega.general.service.CardService
import io.netty.buffer.ByteBuf import io.netty.buffer.ByteBuf
import io.netty.buffer.ByteBufUtil import io.netty.buffer.ByteBufUtil
@ -70,9 +68,9 @@ class AimeDB(
*/ */
override fun channelRead(ctx: ChannelHandlerContext, msg: Any) { override fun channelRead(ctx: ChannelHandlerContext, msg: Any) {
if (msg !is Map<*, *>) return if (msg !is Map<*, *>) return
val type = msg["type"] as Int
val data = msg["data"] as ByteBuf
try { try {
val type = msg["type"] as Int
val data = msg["data"] as ByteBuf
val base = data.decodeHeader() val base = data.decodeHeader()
val handler = handlers[type] ?: return logger.error("AimeDB: Unknown request type 0x${type.toString(16)}") val handler = handlers[type] ?: return logger.error("AimeDB: Unknown request type 0x${type.toString(16)}")
@ -91,6 +89,7 @@ class AimeDB(
handler.fn(data)?.let { ctx.write(it) } handler.fn(data)?.let { ctx.write(it) }
} finally { } finally {
data.release()
ctx.flush() ctx.flush()
ctx.close() ctx.close()
} }