19 major breaking releases
new 21.0.0 | Jan 29, 2025 |
---|---|
20.0.0 | Jan 14, 2025 |
18.0.0 | Oct 1, 2024 |
17.0.0 | Jul 19, 2024 |
0.0.0 |
|
#207 in Magic Beans
4,825 downloads per month
Used in 60 crates
(18 directly)
93KB
2K
SLoC
Release
Polkadot SDK Stable 2412
lib.rs
:
Overseer
overseer
implements the Overseer architecture described in the
implementers' guide.
For the motivations behind implementing the overseer itself you should
check out that guide, documentation in this crate will be mostly discussing
technical stuff.
An Overseer
is something that allows spawning/stopping and overseeing
asynchronous tasks as well as establishing a well-defined and easy to use
protocol that the tasks can use to communicate with each other. It is desired
that this protocol is the only way tasks communicate with each other, however
at this moment there are no foolproof guards against other ways of communication.
The Overseer
is instantiated with a pre-defined set of Subsystems
that
share the same behavior from Overseer
's point of view.
+-----------------------------+
| Overseer |
+-----------------------------+
................| Overseer "holds" these and uses |..............
. them to (re)start things .
. .
. +-------------------+ +---------------------+ .
. | Subsystem1 | | Subsystem2 | .
. +-------------------+ +---------------------+ .
. | | .
..................................................................
| |
start() start()
V V
..................| Overseer "runs" these |.......................
. +--------------------+ +---------------------+ .
. | SubsystemInstance1 | | SubsystemInstance2 | .
. +--------------------+ +---------------------+ .
..................................................................
Dependencies
~93–130MB
~2.5M SLoC