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

An Actor Handle serves as an address to communicate with an actor.

A mailbox is the object that makes it possible to send a message to an actor.

Progress makes it possible to register some progress. It is used in lieu of healthcheck.

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

The actor exit status represents the outcome of the execution of an actor, after the end of the execution.

The ActorRunner defines the environment in which an actor should be executed.

Error that occured while calling ActorContext::ask(..) or Universe::ask

Commands are messages that can be send to control the behavior of an actor.

Describes the health of a given actor.

Constants

Heartbeat used to verify that actors are progressing.

Traits

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.

Functions