From 2cf64427fa4873b3440dc20ff42e792e70563fd0 Mon Sep 17 00:00:00 2001 From: jules Ivanic Date: Mon, 27 Feb 2023 09:42:53 +0800 Subject: [PATCH] Optimize `Runloop::handleRequests` code --- .../main/scala/zio/kafka/consumer/internal/Runloop.scala | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/zio-kafka/src/main/scala/zio/kafka/consumer/internal/Runloop.scala b/zio-kafka/src/main/scala/zio/kafka/consumer/internal/Runloop.scala index 5bdb867f9..87f8531ab 100644 --- a/zio-kafka/src/main/scala/zio/kafka/consumer/internal/Runloop.scala +++ b/zio-kafka/src/main/scala/zio/kafka/consumer/internal/Runloop.scala @@ -495,12 +495,8 @@ private[consumer] final class Runloop( onFalse = consumer .withConsumer(_.assignment.asScala) .flatMap { assignment => - ZIO.foldLeft(reqs)(state) { (state, req) => - if (assignment.contains(req.tp)) - ZIO.succeed(state.addRequest(req)) - else - req.end.as(state) - } + val (toQueue, toEnd) = reqs.partition(req => assignment.contains(req.tp)) + ZIO.foreach(toEnd)(_.end).as(state.addRequests(toQueue)) } .orElseSucceed(state.addRequests(reqs)) )