У меня есть следующая простая иерархия классов case:
sealed trait Message
case class Foo(bar: Int) extends Message
case class Baz(qux: String) extends Message
И у меня есть Flow[Message, Message, NotUsed]
(из протокола на основе Websocket с уже установленным кодеком).
Я хочу демультиплексировать этот Flow[Message]
в отдельные потоки для типов Foo и Baz, так как они обрабатываются совершенно разными путями.
Каков самый простой способ сделать это? Должно быть очевидно, но я что-то упускаю...