org.eligosource.eventsourced.core

Receiver

trait Receiver extends Behavior

Stackable modification for actors to extract the event from a received event org.eligosource.eventsourced.core.Message and calling the modified actor's receive method with that event. Example:

val myReceiver = system.actorOf(Props(new MyReceiver with Receiver))

myReceiver ! Message("foo event")

class MyReceiver extends Actor { this: Receiver =>
  def receive = {
    case "foo event" => {
      val msg = message          // current message
      val snr = sequenceNr       // sequence number of message

      assert(snr > 0L)
      // ...
    }
  }
}

Event messages received by concrete Receivers are stored in a private field and can be obtained via the message or messageOption method.

The Receiver trait can also be used in combination with other stackable traits of the library (such as org.eligosource.eventsourced.core.Confirm or org.eligosource.eventsourced.core.Eventsourced), for example:

val myReceiver = system.actorOf(Props(new MyReceiver with Receiver with Confirm with Eventsourced { val id = ... } ))

class MyReceiver extends Actor { this: Receiver =>
  def receive = {
    // ...
  }
}
Linear Supertypes
Behavior, Actor, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Receiver
  2. Behavior
  3. Actor
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. type Receive = PartialFunction[Any, Unit]

    Definition Classes
    Actor

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def become(behavior: Procedure[Any], discardOld: Boolean): Unit

    Java API.

    Java API.

    Puts behavior on the hotswap stack. This will preserve the behavior of this stackable trait. Actors that additionally want to replace the behavior of this stackable trait should call getContext().become(...).

    behavior

    new behavior

    discardOld

    if true, unbecome() will be called prior to pushing behavior.

    Definition Classes
    Behavior
  8. def become(behavior: Procedure[Any]): Unit

    Java API.

    Java API.

    Puts behavior on the hotswap stack. This will preserve the behavior of this stackable trait. Actors that additionally want to replace the behavior of this stackable trait should call getContext().become(...). The existing (old) behavior will be discarded.

    behavior

    new behavior

    Definition Classes
    Behavior
  9. def become(behavior: akka.actor.Actor.Receive, discardOld: Boolean = true): Unit

    Puts behavior on the hotswap stack.

    Puts behavior on the hotswap stack. This will preserve the behavior of this stackable trait. Actors that additionally want to replace the behavior of this stackable trait should call context.become(...).

    behavior

    new behavior

    discardOld

    if true, unbecome() will be called prior to pushing behavior.

    Definition Classes
    Behavior
  10. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. def confirm(pos: Boolean = true): Unit

    Positively or negatively confirms the receipt of the current event message.

    Positively or negatively confirms the receipt of the current event message.

    pos

    true for a positive receipt confirmation, false for a negative one.

    Exceptions thrown
    IllegalStateException

    if the the last message received by this receiver is not of type org.eligosource.eventsourced.core.Message

  12. implicit val context: ActorContext

    Definition Classes
    Actor
  13. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  17. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  18. final def invoke(msg: Any): Unit

    Definition Classes
    Behavior
  19. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  20. def message: Message

    Current event message.

    Current event message.

    Exceptions thrown
    IllegalStateException

    if the the last message received by this receiver is not of type org.eligosource.eventsourced.core.Message

    See also

    messageOption

  21. def messageOption: Option[Message]

    Current event message option.

    Current event message option. None if the last message received by this receiver is not of type org.eligosource.eventsourced.core.Message.

  22. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  23. final def notify(): Unit

    Definition Classes
    AnyRef
  24. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  25. def postRestart(reason: Throwable): Unit

    Definition Classes
    Actor
    Annotations
    @throws( classOf[java.lang.Exception] )
  26. def postStop(): Unit

    Definition Classes
    Actor
    Annotations
    @throws( classOf[java.lang.Exception] )
  27. def preRestart(reason: Throwable, message: Option[Any]): Unit

    Definition Classes
    Actor
    Annotations
    @throws( classOf[java.lang.Exception] )
  28. def preStart(): Unit

    Definition Classes
    Actor
    Annotations
    @throws( classOf[java.lang.Exception] )
  29. def receive: PartialFunction[Any, Unit]

    Definition Classes
    ReceiverBehavior → Actor
  30. implicit final val self: ActorRef

    Definition Classes
    Actor
  31. final def sender: ActorRef

    Definition Classes
    Actor
  32. def sequenceNr: Long

    Sequence number of current event message

    Sequence number of current event message

    Exceptions thrown
    IllegalStateException

    if the the last message received by this receiver is not of type org.eligosource.eventsourced.core.Message

  33. def supervisorStrategy: SupervisorStrategy

    Definition Classes
    Actor
  34. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  35. def toString(): String

    Definition Classes
    AnyRef → Any
  36. def unbecome(): Unit

    Reverts the behavior to the previous one on the hotswap stack.

    Reverts the behavior to the previous one on the hotswap stack. This will preserve the behavior of this stackable trait.

    Definition Classes
    Behavior
  37. def unhandled(message: Any): Unit

    Definition Classes
    Actor
  38. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Behavior

Inherited from Actor

Inherited from AnyRef

Inherited from Any

Ungrouped