Expand description

Common traits and logic for managing the lifecycle of services

Modules

  • Re-exports for streaming utilities

Structs

  • Used if services have no asynchronously shared data
  • The service runner manages the lifecycle, execution and error handling of a RunnableService. It can be cloned and passed between threads.
  • A mutex that can safely be in async contexts and avoids deadlocks.
  • The wrapper around the watch::Receiver<State>. It repeats the Receiver functionality + a new one.

Enums

  • The lifecycle state of the service

Traits

  • Trait used by ServiceRunner to encapsulate the business logic tasks for a service.
  • The trait is implemented by the service task and contains a single iteration of the infinity loop.
  • Trait for service runners, providing a minimal interface for managing the lifecycle of services such as start/stop and health status.

Type Definitions