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§
sourcefn session_core_count() -> u32
fn session_core_count() -> u32
How many cores are allocated to this provider.
sourcefn pop_assignment_for_core(
core_idx: CoreIndex,
concluded_para: Option<ParaId>
) -> Option<Assignment>
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
.
sourcefn push_assignment_for_core(core_idx: CoreIndex, assignment: Assignment)
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.
sourcefn get_provider_config(
core_idx: CoreIndex
) -> AssignmentProviderConfig<BlockNumber>
fn get_provider_config( core_idx: CoreIndex ) -> AssignmentProviderConfig<BlockNumber>
Returns a set of variables needed by the scheduler