akka/akka-core

Remove FanoutProcessorImpl and friends

Open

#21.261 aberto em 23 de ago. de 2016

Ver no GitHub
 (8 comments) (0 reactions) (0 assignees)Scala (3.547 forks)batch import
1 - triagedhelp wantedt:stream

Métricas do repositório

Stars
 (13.277 stars)
Métricas de merge de PR
 (Mesclagem média 8d 19h) (10 fundiu PRs em 30d)

Description

Implement it in terms of BroadcastHub instead (after https://github.com/akka/akka/pull/21183 merged). Implementation can be as simple as roughly:

object Sink {
...
  def asPublisher[T](fanout: Boolean): Sink[T, Publisher[T]] = {
     if (fanout) BroadcastHub.sink(bufferSize).mapMaterializedValue { src =>
        new Publisher {
            def subscribe(s: Subscriber): Unit = src.runWith(Sink.fromSubscriber(s))
        }
     }
  }
...
}

While this might be somewhat less efficient (although not sure!), it removes a rather ugly old class and its dependencies in one simple move.

Guia do colaborador