From 222b47522302216438c1db3bed64232f6b046e81 Mon Sep 17 00:00:00 2001 From: Walter Oggioni Date: Tue, 11 Mar 2025 12:29:43 +0800 Subject: [PATCH] ensured in-memory-cache is allocated to heap memory --- benchmark/rbcs-in-memory.yml | 2 +- .../rbcs/server/cache/InMemoryCacheHandler.kt | 24 ++++++------------- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/benchmark/rbcs-in-memory.yml b/benchmark/rbcs-in-memory.yml index e1e7475..f2efa65 100644 --- a/benchmark/rbcs-in-memory.yml +++ b/benchmark/rbcs-in-memory.yml @@ -17,7 +17,7 @@ data: read-idle-timeout="PT30S" write-idle-timeout="PT30S"/> - + --- diff --git a/rbcs-server/src/main/kotlin/net/woggioni/rbcs/server/cache/InMemoryCacheHandler.kt b/rbcs-server/src/main/kotlin/net/woggioni/rbcs/server/cache/InMemoryCacheHandler.kt index 821df02..06c9688 100644 --- a/rbcs-server/src/main/kotlin/net/woggioni/rbcs/server/cache/InMemoryCacheHandler.kt +++ b/rbcs-server/src/main/kotlin/net/woggioni/rbcs/server/cache/InMemoryCacheHandler.kt @@ -4,13 +4,7 @@ import io.netty.buffer.ByteBuf import io.netty.channel.ChannelHandlerContext import net.woggioni.rbcs.api.CacheHandler import net.woggioni.rbcs.api.message.CacheMessage -import net.woggioni.rbcs.api.message.CacheMessage.CacheContent -import net.woggioni.rbcs.api.message.CacheMessage.CacheGetRequest -import net.woggioni.rbcs.api.message.CacheMessage.CachePutRequest -import net.woggioni.rbcs.api.message.CacheMessage.CachePutResponse -import net.woggioni.rbcs.api.message.CacheMessage.CacheValueFoundResponse -import net.woggioni.rbcs.api.message.CacheMessage.CacheValueNotFoundResponse -import net.woggioni.rbcs.api.message.CacheMessage.LastCacheContent +import net.woggioni.rbcs.api.message.CacheMessage.* import net.woggioni.rbcs.common.ByteBufOutputStream import net.woggioni.rbcs.common.RBCS.processCacheKey import java.util.zip.Deflater @@ -41,18 +35,14 @@ class InMemoryCacheHandler( private inner class InProgressPlainPutRequest(ctx: ChannelHandlerContext, override val request: CachePutRequest) : InProgressPutRequest { - override val buf = ctx.alloc().compositeBuffer() - - private val stream = ByteBufOutputStream(buf).let { - if (compressionEnabled) { - DeflaterOutputStream(it, Deflater(compressionLevel)) - } else { - it - } - } + override val buf = ctx.alloc().compositeHeapBuffer() override fun append(buf: ByteBuf) { - this.buf.addComponent(true, buf.retain()) + if(buf.isDirect) { + this.buf.writeBytes(buf) + } else { + this.buf.addComponent(true, buf.retain()) + } } override fun close() {