Crate rxh

source ·
Expand description

RXH is a reverse proxy, load balancer and static files server.

Modules

Structs and enums derived from the config file using serde.
Load balancing and scheduler implementations.

Structs

The master task is responsible for creating, spawning and shutting down all the Server instances described in the configuration file. Both spawning and shutting down are non-trivial due to all the options that the config file provides.
The Server struct represents a particular [[server]] instance from the config file. It is responsible for accepting new connections and spawning Tokio tasks to handle them properly, as well as gracefully stopping the running tasks. In order to perform graceful shutdowns, the Server notifies all the running tasks about the shutdown event and waits for their acknowledgements. See [Notifier] for further details. Here’s a simple diagram describing the process:

Enums

Top level error to use for return types in the public API and main function.
Represents a state in the graceful shutdown process.
Represents the current state of the server.

Constants

RXH version.