akka/akka-core

Remove FanoutProcessorImpl and friends

Open

#21 261 ouverte le 23 août 2016

Voir sur GitHub
 (8 commentaires) (0 réactions) (0 assignés)Scala (3 547 forks)batch import
1 - triagedhelp wantedt:stream

Métriques du dépôt

Stars
 (13 277 stars)
Métriques de merge PR
 (Merge moyen 8j 19h) (10 PRs mergées en 30 j)

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.

Guide contributeur