class EventStream extends LoggingBus with SubchannelClassification
An Apache Pekko EventStream is a pub-sub stream of events both system and user generated, where subscribers are ActorRefs and the channels are Classes and Events are any java.lang.Object. EventStreams employ SubchannelClassification, which means that if you listen to a Class, you'll receive any message that is of that type or a subtype.
The debug flag in the constructor toggles if operations on this EventStream should also be published as Debug-Events
- Source
- EventStream.scala
- Alphabetic
- By Inheritance
- EventStream
- SubchannelClassification
- LoggingBus
- ActorEventBus
- EventBus
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new EventStream(sys: ActorSystem)
- new EventStream(sys: ActorSystem, debug: Boolean)
Type Members
- type Classifier = Class[_]
- Definition Classes
- EventStream → LoggingBus → EventBus
- type Event = Any
- Definition Classes
- EventStream → LoggingBus → EventBus
- type Subscriber = ActorRef
- Definition Classes
- ActorEventBus → EventBus
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from EventStream toany2stringadd[EventStream] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (EventStream, B)
- Implicit
- This member is added by an implicit conversion from EventStream toArrowAssoc[EventStream] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def classify(event: Any): Class[_]
Returns the Classifier associated with the given Event
Returns the Classifier associated with the given Event
- Attributes
- protected
- Definition Classes
- EventStream → SubchannelClassification
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- def compareSubscribers(a: ActorRef, b: ActorRef): Int
- Attributes
- protected
- Definition Classes
- ActorEventBus
- def ensuring(cond: (EventStream) => Boolean, msg: => Any): EventStream
- Implicit
- This member is added by an implicit conversion from EventStream toEnsuring[EventStream] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (EventStream) => Boolean): EventStream
- Implicit
- This member is added by an implicit conversion from EventStream toEnsuring[EventStream] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): EventStream
- Implicit
- This member is added by an implicit conversion from EventStream toEnsuring[EventStream] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): EventStream
- Implicit
- This member is added by an implicit conversion from EventStream toEnsuring[EventStream] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def logLevel: LogLevel
Query currently set log level.
Query currently set log level. See object Logging for more information.
- Definition Classes
- LoggingBus
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def publish(event: Any, subscriber: ActorRef): Unit
Publishes the given Event to the given Subscriber
Publishes the given Event to the given Subscriber
- Attributes
- protected
- Definition Classes
- EventStream → SubchannelClassification
- def publish(event: Event): Unit
- Definition Classes
- SubchannelClassification
- def setLogLevel(level: LogLevel): Unit
Change log level: default loggers (i.e.
Change log level: default loggers (i.e. from configuration file) are subscribed/unsubscribed as necessary so that they listen to all levels which are at least as severe as the given one. See object Logging for more information.
NOTE: if the StandardOutLogger is configured also as normal logger, it will not participate in the automatic management of log level subscriptions!
- Definition Classes
- LoggingBus
- def startUnsubscriber(): Unit
Must be called after actor system is "ready".
Must be called after actor system is "ready". Starts system actor that takes care of unsubscribing subscribers that have terminated.
- implicit val subclassification: Subclassification[Classifier]
The logic to form sub-class hierarchy
The logic to form sub-class hierarchy
- Attributes
- protected
- Definition Classes
- EventStream → SubchannelClassification
- def subscribe(subscriber: ActorRef, channel: Class[_]): Boolean
Attempts to register the subscriber to the specified Classifier
Attempts to register the subscriber to the specified Classifier
- returns
true if successful and false if not (because it was already subscribed to that Classifier, or otherwise)
- Definition Classes
- EventStream → SubchannelClassification → EventBus
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def unsubscribe(subscriber: ActorRef): Unit
Attempts to deregister the subscriber from all Classifiers it may be subscribed to
Attempts to deregister the subscriber from all Classifiers it may be subscribed to
- Definition Classes
- EventStream → SubchannelClassification → EventBus
- def unsubscribe(subscriber: ActorRef, channel: Class[_]): Boolean
Attempts to deregister the subscriber from the specified Classifier
Attempts to deregister the subscriber from the specified Classifier
- returns
true if successful and false if not (because it wasn't subscribed to that Classifier, or otherwise)
- Definition Classes
- EventStream → SubchannelClassification → EventBus
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from EventStream toStringFormat[EventStream] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def →[B](y: B): (EventStream, B)
- Implicit
- This member is added by an implicit conversion from EventStream toArrowAssoc[EventStream] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.