Crate quickwit_actors

Source
Expand description

quickwit-actors is a simplified actor framework for quickwit.

It solves the following problem:

  • have sync and async tasks communicate together.
  • make these task observable
  • make these task modular and testable
  • detect when some task is stuck and does not progress anymore

Structs§

ActorContext
ActorHandle
An Actor Handle serves as an address to communicate with an actor.
KillSwitch
Mailbox
A mailbox is the object that makes it possible to send a message to an actor.
Observation
Progress
Progress makes it possible to register some progress. It is used in lieu of healthcheck.
ProtectedZoneGuard
Universe
Universe serves as the top-level context in which Actor can be spawned. It is not a singleton. A typical application will usually have only one universe hosting all of the actors but it is not a requirement.

Enums§

ActorExitStatus
The actor exit status represents the outcome of the execution of an actor, after the end of the execution.
ActorRunner
The ActorRunner defines the environment in which an actor should be executed.
ActorState
AskError
Error that occured while calling ActorContext::ask(..) or Universe::ask
Command
Commands are messages that can be send to control the behavior of an actor.
Health
Describes the health of a given actor.
ObservationType
QueueCapacity
RecvError
SendError

Constants§

HEARTBEAT
Heartbeat used to verify that actors are progressing.

Traits§

Actor
An actor has an internal state and processes a stream of messages. Each actor has a mailbox where the messages are enqueued before being processed.
Handler
Supervisable

Functions§

create_mailbox
create_test_mailbox
message_timeout