Skip flush/read calls if no writes are made

Signed-off-by: Graham <gpe@openrs2.org>
pull/132/head
Graham 3 years ago
parent e0a9bc3ca6
commit 0f939935cd
  1. 10
      archive/src/main/kotlin/org/openrs2/archive/cache/Js5ChannelHandler.kt

@ -57,14 +57,20 @@ public class Js5ChannelHandler(
}
override fun channelReadComplete(ctx: ChannelHandlerContext) {
var flush = false
while (inFlightRequests.size < maxInFlightRequests) {
val request = pendingRequests.removeFirstOrNull() ?: break
inFlightRequests += request
ctx.write(request, ctx.voidPromise())
flush = true
}
ctx.flush()
ctx.read()
if (flush) {
ctx.flush()
ctx.read()
}
}
override fun exceptionCaught(ctx: ChannelHandlerContext, cause: Throwable) {

Loading…
Cancel
Save