Crate pallet_broker
source ·Expand description
Pallet Broker
Brokerage tool for managing Polkadot Core scheduling.
Properly described in RFC-0001 Agile Coretime.
Implemnentation Specifics
Core Mask Bits
This is 1/80th of a Polkadot Core per timeslice. Assuming timeslices are 80 blocks, then this indicates usage of a single core one time over a timeslice.
The Sale
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7
--------------------------------------------------------
< interlude >
< sale >
... of which ...
< descending-price >< fixed-price >
| <-------\
price fixed, unsold assigned to instapool, system cores reserved -/
Re-exports
pub use weights::WeightInfo;
pub use pallet::*;
Modules
- The
pallet
module in each FRAME pallet hosts the most important items needed to construct this pallet. - Autogenerated weights for
pallet_broker
Structs
- The identity of a possible Core workload renewal.
- A record of an allowed renewal.
- Configuration of this pallet.
- The record body of a Region which was contributed to the Instantaneous Coretime Pool. This helps with making pro rata payments to contributors.
- A per-timeslice bookkeeping record for tracking Instantaneous Coretime Pool activity and making proper payments to contributors.
- Information on a single legacy lease.
- Simple implementation of
AdaptPrice
giving a monotonic leadin and a linear price change based on cores sold. - A record of flux in the InstaPool.
- Self-describing identity for a Region of Bulk Coretime.
- The rest of the information describing a Region.
- The status of a Bulk Coretime Sale.
- An distinct item which can be scheduled on a Polkadot Core.
- General status of the system.
Enums
- How much of a core has been assigned or, if completely assigned, the workload itself.
- An element to which a core can be assigned.
- Whether a core assignment is revokable or not.
Constants
- The number of bits in the
CoreMask
.
Traits
- Type for determining how to set price.
- Type able to accept Coretime scheduling instructions and provide certain usage information. Generally implemented by the Relay-chain or some means of communicating with it.
Type Definitions
- Index of a Polkadot Core.
- Counter for the total number of set bits over every core’s
CoreMask
.u32
so we don’t ever get an overflow. This is 1/80th of a Polkadot Core per timeslice. Assuming timeslices are 80 blocks, then this indicates usage of a single core one time over a timeslice. - Record for Polkadot Core legacy leases.
- Fraction expressed as a nominator with an assumed denominator of 57,600.
- Record for Polkadot Core reservations (generally tasked with the maintenance of System Chains).
- The same as
CoreMaskBitCount
but signed. - A Task Id. In general this is called a ParachainId.
- Relay-chain block number with a fixed divisor of Config::TimeslicePeriod.