object EventStream

Source
EventStream.scala
Linear Supertypes
Content Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. EventStream
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. sealed trait Command extends AnyRef

    The set of commands accepted by the akka.actor.typed.ActorSystem.eventStream.

    The set of commands accepted by the akka.actor.typed.ActorSystem.eventStream.

    Not for user Extension

    Annotations
    @DoNotInherit()
  2. final case class Publish[E](event: E) extends with Product with Serializable

    Publish an event of type E by sending this command to the akka.actor.typed.ActorSystem.eventStream.

  3. final case class Subscribe[E](subscriber: ActorRef[E])(implicit classTag: ClassTag[E]) extends with Product with Serializable

    Subscribe a typed actor to listen for types and subtypes of E by sending this command to the akka.actor.typed.ActorSystem.eventStream.

    Subscribe a typed actor to listen for types and subtypes of E by sending this command to the akka.actor.typed.ActorSystem.eventStream. The same actor can create multiple subscriptions for different types.

    Simple example

    sealed trait A
    case object A1 extends A
    //listen for all As
    def subscribe(actorSystem: ActorSystem[_], actorRef: ActorRef[A]) =
      actorSystem.eventStream ! EventStream.Subscribe(actorRef)
    //listen for A1s only
    def subscribe(actorSystem: ActorSystem[_], actorRef: ActorRef[A]) =
      actorSystem.eventStream ! EventStream.Subscribe[A1](actorRef)
  4. final case class Unsubscribe[E](subscriber: ActorRef[E]) extends with Product with Serializable

    Unsubscribe all subscriptions created by this actor from the event stream by sending this command to the akka.actor.typed.ActorSystem.eventStream.