Expand description

Utility module for subsystems

Many subsystems have common interests such as canceling a bunch of spawned jobs, or determining what their validator ID is. These common interests are factored into this module.

This crate also reexports Prometheus metric types which are expected to be implemented by subsystems.

Re-exports

pub use rand;
pub use metered;

Modules

Database trait for subsystem. Database trait for polkadot db.
This module reexports Prometheus types and defines the Metrics trait.
These reexports are required so that external crates can use the delegated_subsystem macro properly.
A rolling session window cache. A rolling window of sessions and cached session info, updated by the state of newly imported blocks.
Convenient and efficient runtime info access. Convenient interface to runtime information.

Structs

Create a stream of ticks with a defined cycle duration.
A future that wraps another future with a Delay allowing for time-limited futures.
Local validator information

Enums

Utility errors
An error type that describes faults that may happen

Constants

Capacity of channels to and from individual jobs
Duration a job will wait after sending a stop signal before hard-aborting.
The minimum amount of peers to send gossip messages to.

Traits

A trait that describes the Subsystems that can run on the Orchestra.
Extends Future to allow time-limited futures.

Functions

Choose a random subset of min elements. But always include is_priority elements.
Choose a random subset of min elements using a specific Random Generator Rng But always include is_priority elements.
Given a new chain-head hash, this determines the hashes of all new blocks we should track metadata for, given this head.
Find the validator group the given validator index belongs to.
Returns a bool with a probability of a / b of being true.
Returns a bool with a probability of a / b of being true.
Request AssumedValidationData from the runtime
Request Authorities from the runtime
Request AvailabilityCores from the runtime
Request CandidateEvents from the runtime
Request CandidatePendingAvailability from the runtime
Request some data from the RuntimeApi.
Request FetchOnChainVotes from the runtime
Request PersistedValidationData from the runtime
Request SessionIndexForChild from the runtime
Request SessionInfo from the runtime
Request ValidationCode from the runtime
Request ValidationCodeByHash from the runtime
Request ValidationCodeHash from the runtime
Request ValidatorGroups from the runtime
Request Validators from the runtime
Sign the given data with the given validator ID.
From the given set of validators, find the first key we can sign with, if any.
From the given set of validators, find the first key we can sign with, if any, and return it along with the validator index.

Type Definitions

A type alias for Runtime API receivers.