pub trait AssignmentProvider<BlockNumber> {
    // Required methods
    fn session_core_count() -> u32;
    fn pop_assignment_for_core(
        core_idx: CoreIndex,
        concluded_para: Option<ParaId>
    ) -> Option<Assignment>;
    fn push_assignment_for_core(core_idx: CoreIndex, assignment: Assignment);
    fn get_provider_config(
        core_idx: CoreIndex
    ) -> AssignmentProviderConfig<BlockNumber>;
}

Required Methods§

source

fn session_core_count() -> u32

How many cores are allocated to this provider.

source

fn pop_assignment_for_core( core_idx: CoreIndex, concluded_para: Option<ParaId> ) -> Option<Assignment>

Pops an Assignment from the provider for a specified CoreIndex. The concluded_para field makes the caller report back to the provider which ParaId it processed last on the supplied CoreIndex.

source

fn push_assignment_for_core(core_idx: CoreIndex, assignment: Assignment)

Push back an already popped assignment. Intended for provider implementations that need to be able to keep track of assignments over session boundaries, such as the on demand assignment provider.

source

fn get_provider_config( core_idx: CoreIndex ) -> AssignmentProviderConfig<BlockNumber>

Returns a set of variables needed by the scheduler

Implementors§

source§

impl<T: Config> AssignmentProvider<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for polkadot_runtime_parachains::assigner::pallet::Pallet<T>

source§

impl<T: Config> AssignmentProvider<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for polkadot_runtime_parachains::assigner_on_demand::pallet::Pallet<T>

source§

impl<T: Config> AssignmentProvider<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for polkadot_runtime_parachains::assigner_parachains::pallet::Pallet<T>