Packages

trait Dispatcher[Index] extends AnyRef

A fanout signaller, representing a stream of external updates, that can be subscribed to dynamically at a given point in the stream. Stream positions are given by the Index type, and stream values are given by T. Subscribing to a point yields all values starting at that point. It is assumed that the head index is the "end of the stream" and has no value.

Implementations must be thread-safe, so must the callbacks provided to it.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Dispatcher
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def cancel(throwableBuilder: () => Throwable): Future[Unit]

    Triggers shutdown of the Dispatcher by eagerly failing all outstanding stream subscriptions with a throwable.

    Triggers shutdown of the Dispatcher by eagerly failing all outstanding stream subscriptions with a throwable.

    throwableBuilder

    Create a new throwable. It is important to create a new throwable for each failed subscription since the throwable closing the streams or parts of it can be mutable. (e.g. the io.grpc.Metadata provided as part of io.grpc.StatusRuntimeException is mutated in the gRPC layer)

  2. abstract def getHead(): Index

    Returns the head index where this Dispatcher is at

  3. abstract def shutdown(): Future[Unit]

    Triggers shutdown of the Dispatcher by completing all outstanding stream subscriptions.

    Triggers shutdown of the Dispatcher by completing all outstanding stream subscriptions. This method ensures that all outstanding subscriptions have been notified with the latest signalled head and waits for their graceful completion.

  4. abstract def signalNewHead(head: Index): Unit

    Signals and stores a new head in memory.

  5. abstract def startingAt[T](startExclusive: Index, subSource: SubSource[Index, T], endInclusive: Option[Index] = None): Source[(Index, T), NotUsed]

    Returns a stream of elements with the next index from start (exclusive) to end (inclusive) Throws DispatcherIsClosedException if dispatcher is in the shutting down state

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  14. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  15. def toString(): String
    Definition Classes
    AnyRef → Any
  16. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  17. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped