У меня есть akka http streams для реализации сервера WebSocket. Тем не менее, клиент отправляет много данных каждую минуту. Таким образом, соединение поддерживается между клиентом и сервером.Akka http streams с использованием раковины памяти растет
При внедрении обработчика сетевых сокетов я использовал поток и раковину. И используя Sink.seq. Раковина - это то, что продолжает собирать входящие элементы, пока восходящий поток не прекратится.
Как этого избежать?
implicit val system = ActorSystem("DecoderSystem")
implicit val materializer = ActorMaterializer()
val streamedMsgFuture: Future[Seq[ByteString]] = streamedMsg.runWith(Sink.seq)
streamedMsgFuture.onComplete { completedStream =>
var completeBytestring = new ByteStringBuilder()
//I'm sure there's a better way to do this.. but hey, it's O(n)
completedStream.foreach { x =>
x.foreach { y =>
completeBytestring ++= y
}
}