You're using runFold() to just do string concatenation over and over
again?  That's very inefficient, at best; at worst, depending on the size
of the "big" message, you might be hitting memory pressure that is causing
things to crash.  (Or at least, causing a massive amount of garbage
collection that is slowing everything to a crawl.)  You're building strings
and throwing them away, over and over and over again.

Keep in mind, part of the point of streaming is to *avoid* having to have
the entire message in memory at any given time.  If I'm reading this right,
you're not only building the entire message in memory, you're doing it in a
really inefficient way.  I would *guess* that it's spending so much time in
garbage collection that it's not getting to the point of finishing in those
five seconds...

On Sun, Jul 16, 2017 at 4:13 PM, ivan morozov <[email protected]> wrote:

> Hi. I can't manage to fold a big message that is coming over websockets.
> The future just never complete. Reproduce:
>
>    val flow: Flow[Message, Message, NotUsed] =
>       Flow.fromSinkAndSource(
>         Sink.foreach {
>           case TextMessage.Streamed(stream) =>
>             val f = stream.limit(100)
>               .completionTimeout(5000.millis)
>               .runFold("")(_ + _)
>             println(Await.result(f,5.second))
>         }
>          ,
>         Source.empty)
>
>
>     Http().singleWebSocketRequest(
>       WebSocketRequest("wss://api.sandbox.gemini.com/v1/marketdata/ethbtc"
> ),
>       flow)
>
> Any ideas why?
>
> --
> >>>>>>>>>> Read the docs: http://akka.io/docs/
> >>>>>>>>>> Check the FAQ: http://doc.akka.io/docs/akka/
> current/additional/faq.html
> >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
> ---
> You received this message because you are subscribed to the Google Groups
> "Akka User List" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/akka-user.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to