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() {