Packages

package scaladsl

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

Package Members

  1. package adapter

    Adapters between typed and classic actors and actor systems.

    Adapters between typed and classic actors and actor systems. The underlying ActorSystem is the classic pekko.actor.ActorSystem which runs Pekko Typed pekko.actor.typed.Behavior on an emulation layer. In this system typed and classic actors can coexist.

    Use these adapters with import org.apache.pekko.actor.typed.scaladsl.adapter._.

    Implicit extension methods are added to classic and typed ActorSystem, ActorContext. Such methods make it possible to create typed child actor from classic parent actor, and the opposite classic child from typed parent. watch is also supported in both directions.

    There is an implicit conversion from classic pekko.actor.ActorRef to typed pekko.actor.typed.ActorRef.

    There are also converters (toTyped, toClassic) from typed pekko.actor.typed.ActorRef to classic pekko.actor.ActorRef, and between classic pekko.actor.ActorSystem and typed pekko.actor.typed.ActorSystem.

Type Members

  1. abstract class AbstractBehavior[T] extends ExtensibleBehavior[T]

    An actor Behavior can be implemented by extending this class and implement the abstract method AbstractBehavior#onMessage and optionally override AbstractBehavior#onSignal.

    An actor Behavior can be implemented by extending this class and implement the abstract method AbstractBehavior#onMessage and optionally override AbstractBehavior#onSignal. Mutable state can be defined as instance variables of the class.

    This is an Object-oriented style of defining a Behavior. A more functional style alternative is provided by the factory methods in Behaviors, for example Behaviors.receiveMessage.

    Instances of this behavior should be created via Behaviors.setup and the ActorContext should be passed as a constructor parameter from the factory function. This is important because a new instance should be created when restart supervision is used.

    When switching Behavior to another AbstractBehavior the original ActorContext can be used as the context parameter instead of wrapping in a new Behaviors.setup, but it wouldn't be wrong to use context from Behaviors.setup since that is the same ActorContext instance.

    It must not be created with an ActorContext of another actor, such as the parent actor. Such mistake will be detected at runtime and throw IllegalStateException when the first message is received.

    See also

    Behaviors.setup

  2. trait ActorContext[T] extends TypedActorContext[T] with ClassicActorContextProvider

    An Actor is given by the combination of a Behavior and a context in which this behavior is executed.

    An Actor is given by the combination of a Behavior and a context in which this behavior is executed. As per the Actor Model an Actor can perform the following actions when processing a message:

    • send a finite number of messages to other Actors it knows
    • create a finite number of Actors
    • designate the behavior for the next message

    In Pekko, the first capability is accessed by using the ! or tell method on an ActorRef, the second is provided by ActorContext#spawn and the third is implicit in the signature of Behavior in that the next behavior is always returned from the message processing logic.

    An ActorContext in addition provides access to the Actor’s own identity (“self”), the ActorSystem it is part of, methods for querying the list of child Actors it created, access to Terminated and timed message scheduling.

    Not for user extension.

    Annotations
    @DoNotInherit()
  3. trait GroupRouter[T] extends Behavior[T]

    Provides builder style configuration options for group routers

    Provides builder style configuration options for group routers

    Not for user extension. Use Routers#group to create

    Annotations
    @DoNotInherit()
  4. implicit final class LoggerOps extends AnyVal

    Extension methods to org.slf4j.Logger that are useful because the Scala compiler can't select the right overloaded methods for some cases when using 2 template arguments and varargs (>= 3 arguments) with primitive types.

    Extension methods to org.slf4j.Logger that are useful because the Scala compiler can't select the right overloaded methods for some cases when using 2 template arguments and varargs (>= 3 arguments) with primitive types.

    Enable these extension methods with:

    import org.apache.pekko.actor.typed.scaladsl.LoggerOps

    or

    import org.apache.pekko.actor.typed.scaladsl._
  5. trait PoolRouter[T] extends Behavior[T]

    Provides builder style configuration options for pool routers

    Provides builder style configuration options for pool routers

    Not for user extension. Use Routers#pool to create

    Annotations
    @DoNotInherit()
  6. trait StashBuffer[T] extends AnyRef

    A non thread safe mutable message buffer that can be used to buffer messages inside actors and then unstash them.

    A non thread safe mutable message buffer that can be used to buffer messages inside actors and then unstash them.

    The buffer can hold at most the given capacity number of messages.

    Not for user extension.

    Annotations
    @DoNotInherit()
  7. class StashOverflowException extends RuntimeException

    Is thrown when the size of the stash exceeds the capacity of the stash buffer.

  8. trait TimerScheduler[T] extends AnyRef

    Support for scheduled self messages in an actor.

    Support for scheduled self messages in an actor. It is used with Behaviors.withTimers. Timers are bound to the lifecycle of the actor that owns it, and thus are cancelled automatically when it is restarted or stopped.

    TimerScheduler is not thread-safe, i.e. it must only be used within the actor that owns it.

    Not for user extension.

    Annotations
    @DoNotInherit()

Value Members

  1. object AskPattern

    The ask-pattern implements the initiator side of a request–reply protocol.

    The ask-pattern implements the initiator side of a request–reply protocol.

    See AskPattern.Askable.ask for details

  2. object Behaviors

    Factories for pekko.actor.typed.Behavior.

  3. object Routers

Inherited from AnyRef

Inherited from Any

Ungrouped