pub trait SessionHandler<ValidatorId> {
    const KEY_TYPE_IDS: &'static [KeyTypeId];

    // Required methods
    fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(ValidatorId, Ks)]);
    fn on_new_session<Ks: OpaqueKeys>(
        changed: bool,
        validators: &[(ValidatorId, Ks)],
        queued_validators: &[(ValidatorId, Ks)]
    );
    fn on_disabled(validator_index: u32);

    // Provided method
    fn on_before_session_ending() { ... }
}
Expand description

Handler for session life cycle events.

Required Associated Constants§

source

const KEY_TYPE_IDS: &'static [KeyTypeId]

All the key type ids this session handler can process.

The order must be the same as it expects them in on_new_session and on_genesis_session.

Required Methods§

source

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(ValidatorId, Ks)])

The given validator set will be used for the genesis session. It is guaranteed that the given validator set will also be used for the second session, therefore the first call to on_new_session should provide the same validator set.

source

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(ValidatorId, Ks)], queued_validators: &[(ValidatorId, Ks)] )

Session set has changed; act appropriately. Note that this can be called before initialization of your pallet.

changed is true whenever any of the session keys or underlying economic identities or weightings behind those keys has changed.

source

fn on_disabled(validator_index: u32)

A validator got disabled. Act accordingly until a new session begins.

Provided Methods§

source

fn on_before_session_ending()

A notification for end of the session.

Note it is triggered before any SessionManager::end_session handlers, so we can still affect the validator set.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<AId, TupleElement0: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0,)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>, TupleElement9: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>, TupleElement9: OneSessionHandler<AId>, TupleElement10: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>, TupleElement9: OneSessionHandler<AId>, TupleElement10: OneSessionHandler<AId>, TupleElement11: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>, TupleElement9: OneSessionHandler<AId>, TupleElement10: OneSessionHandler<AId>, TupleElement11: OneSessionHandler<AId>, TupleElement12: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>, TupleElement9: OneSessionHandler<AId>, TupleElement10: OneSessionHandler<AId>, TupleElement11: OneSessionHandler<AId>, TupleElement12: OneSessionHandler<AId>, TupleElement13: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>, TupleElement9: OneSessionHandler<AId>, TupleElement10: OneSessionHandler<AId>, TupleElement11: OneSessionHandler<AId>, TupleElement12: OneSessionHandler<AId>, TupleElement13: OneSessionHandler<AId>, TupleElement14: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>, TupleElement9: OneSessionHandler<AId>, TupleElement10: OneSessionHandler<AId>, TupleElement11: OneSessionHandler<AId>, TupleElement12: OneSessionHandler<AId>, TupleElement13: OneSessionHandler<AId>, TupleElement14: OneSessionHandler<AId>, TupleElement15: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>, TupleElement9: OneSessionHandler<AId>, TupleElement10: OneSessionHandler<AId>, TupleElement11: OneSessionHandler<AId>, TupleElement12: OneSessionHandler<AId>, TupleElement13: OneSessionHandler<AId>, TupleElement14: OneSessionHandler<AId>, TupleElement15: OneSessionHandler<AId>, TupleElement16: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>, TupleElement9: OneSessionHandler<AId>, TupleElement10: OneSessionHandler<AId>, TupleElement11: OneSessionHandler<AId>, TupleElement12: OneSessionHandler<AId>, TupleElement13: OneSessionHandler<AId>, TupleElement14: OneSessionHandler<AId>, TupleElement15: OneSessionHandler<AId>, TupleElement16: OneSessionHandler<AId>, TupleElement17: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>, TupleElement9: OneSessionHandler<AId>, TupleElement10: OneSessionHandler<AId>, TupleElement11: OneSessionHandler<AId>, TupleElement12: OneSessionHandler<AId>, TupleElement13: OneSessionHandler<AId>, TupleElement14: OneSessionHandler<AId>, TupleElement15: OneSessionHandler<AId>, TupleElement16: OneSessionHandler<AId>, TupleElement17: OneSessionHandler<AId>, TupleElement18: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>, TupleElement9: OneSessionHandler<AId>, TupleElement10: OneSessionHandler<AId>, TupleElement11: OneSessionHandler<AId>, TupleElement12: OneSessionHandler<AId>, TupleElement13: OneSessionHandler<AId>, TupleElement14: OneSessionHandler<AId>, TupleElement15: OneSessionHandler<AId>, TupleElement16: OneSessionHandler<AId>, TupleElement17: OneSessionHandler<AId>, TupleElement18: OneSessionHandler<AId>, TupleElement19: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>, TupleElement9: OneSessionHandler<AId>, TupleElement10: OneSessionHandler<AId>, TupleElement11: OneSessionHandler<AId>, TupleElement12: OneSessionHandler<AId>, TupleElement13: OneSessionHandler<AId>, TupleElement14: OneSessionHandler<AId>, TupleElement15: OneSessionHandler<AId>, TupleElement16: OneSessionHandler<AId>, TupleElement17: OneSessionHandler<AId>, TupleElement18: OneSessionHandler<AId>, TupleElement19: OneSessionHandler<AId>, TupleElement20: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>, TupleElement9: OneSessionHandler<AId>, TupleElement10: OneSessionHandler<AId>, TupleElement11: OneSessionHandler<AId>, TupleElement12: OneSessionHandler<AId>, TupleElement13: OneSessionHandler<AId>, TupleElement14: OneSessionHandler<AId>, TupleElement15: OneSessionHandler<AId>, TupleElement16: OneSessionHandler<AId>, TupleElement17: OneSessionHandler<AId>, TupleElement18: OneSessionHandler<AId>, TupleElement19: OneSessionHandler<AId>, TupleElement20: OneSessionHandler<AId>, TupleElement21: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>, TupleElement9: OneSessionHandler<AId>, TupleElement10: OneSessionHandler<AId>, TupleElement11: OneSessionHandler<AId>, TupleElement12: OneSessionHandler<AId>, TupleElement13: OneSessionHandler<AId>, TupleElement14: OneSessionHandler<AId>, TupleElement15: OneSessionHandler<AId>, TupleElement16: OneSessionHandler<AId>, TupleElement17: OneSessionHandler<AId>, TupleElement18: OneSessionHandler<AId>, TupleElement19: OneSessionHandler<AId>, TupleElement20: OneSessionHandler<AId>, TupleElement21: OneSessionHandler<AId>, TupleElement22: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>, TupleElement9: OneSessionHandler<AId>, TupleElement10: OneSessionHandler<AId>, TupleElement11: OneSessionHandler<AId>, TupleElement12: OneSessionHandler<AId>, TupleElement13: OneSessionHandler<AId>, TupleElement14: OneSessionHandler<AId>, TupleElement15: OneSessionHandler<AId>, TupleElement16: OneSessionHandler<AId>, TupleElement17: OneSessionHandler<AId>, TupleElement18: OneSessionHandler<AId>, TupleElement19: OneSessionHandler<AId>, TupleElement20: OneSessionHandler<AId>, TupleElement21: OneSessionHandler<AId>, TupleElement22: OneSessionHandler<AId>, TupleElement23: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>, TupleElement9: OneSessionHandler<AId>, TupleElement10: OneSessionHandler<AId>, TupleElement11: OneSessionHandler<AId>, TupleElement12: OneSessionHandler<AId>, TupleElement13: OneSessionHandler<AId>, TupleElement14: OneSessionHandler<AId>, TupleElement15: OneSessionHandler<AId>, TupleElement16: OneSessionHandler<AId>, TupleElement17: OneSessionHandler<AId>, TupleElement18: OneSessionHandler<AId>, TupleElement19: OneSessionHandler<AId>, TupleElement20: OneSessionHandler<AId>, TupleElement21: OneSessionHandler<AId>, TupleElement22: OneSessionHandler<AId>, TupleElement23: OneSessionHandler<AId>, TupleElement24: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>, TupleElement9: OneSessionHandler<AId>, TupleElement10: OneSessionHandler<AId>, TupleElement11: OneSessionHandler<AId>, TupleElement12: OneSessionHandler<AId>, TupleElement13: OneSessionHandler<AId>, TupleElement14: OneSessionHandler<AId>, TupleElement15: OneSessionHandler<AId>, TupleElement16: OneSessionHandler<AId>, TupleElement17: OneSessionHandler<AId>, TupleElement18: OneSessionHandler<AId>, TupleElement19: OneSessionHandler<AId>, TupleElement20: OneSessionHandler<AId>, TupleElement21: OneSessionHandler<AId>, TupleElement22: OneSessionHandler<AId>, TupleElement23: OneSessionHandler<AId>, TupleElement24: OneSessionHandler<AId>, TupleElement25: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>, TupleElement9: OneSessionHandler<AId>, TupleElement10: OneSessionHandler<AId>, TupleElement11: OneSessionHandler<AId>, TupleElement12: OneSessionHandler<AId>, TupleElement13: OneSessionHandler<AId>, TupleElement14: OneSessionHandler<AId>, TupleElement15: OneSessionHandler<AId>, TupleElement16: OneSessionHandler<AId>, TupleElement17: OneSessionHandler<AId>, TupleElement18: OneSessionHandler<AId>, TupleElement19: OneSessionHandler<AId>, TupleElement20: OneSessionHandler<AId>, TupleElement21: OneSessionHandler<AId>, TupleElement22: OneSessionHandler<AId>, TupleElement23: OneSessionHandler<AId>, TupleElement24: OneSessionHandler<AId>, TupleElement25: OneSessionHandler<AId>, TupleElement26: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>, TupleElement9: OneSessionHandler<AId>, TupleElement10: OneSessionHandler<AId>, TupleElement11: OneSessionHandler<AId>, TupleElement12: OneSessionHandler<AId>, TupleElement13: OneSessionHandler<AId>, TupleElement14: OneSessionHandler<AId>, TupleElement15: OneSessionHandler<AId>, TupleElement16: OneSessionHandler<AId>, TupleElement17: OneSessionHandler<AId>, TupleElement18: OneSessionHandler<AId>, TupleElement19: OneSessionHandler<AId>, TupleElement20: OneSessionHandler<AId>, TupleElement21: OneSessionHandler<AId>, TupleElement22: OneSessionHandler<AId>, TupleElement23: OneSessionHandler<AId>, TupleElement24: OneSessionHandler<AId>, TupleElement25: OneSessionHandler<AId>, TupleElement26: OneSessionHandler<AId>, TupleElement27: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26, TupleElement27)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>, TupleElement9: OneSessionHandler<AId>, TupleElement10: OneSessionHandler<AId>, TupleElement11: OneSessionHandler<AId>, TupleElement12: OneSessionHandler<AId>, TupleElement13: OneSessionHandler<AId>, TupleElement14: OneSessionHandler<AId>, TupleElement15: OneSessionHandler<AId>, TupleElement16: OneSessionHandler<AId>, TupleElement17: OneSessionHandler<AId>, TupleElement18: OneSessionHandler<AId>, TupleElement19: OneSessionHandler<AId>, TupleElement20: OneSessionHandler<AId>, TupleElement21: OneSessionHandler<AId>, TupleElement22: OneSessionHandler<AId>, TupleElement23: OneSessionHandler<AId>, TupleElement24: OneSessionHandler<AId>, TupleElement25: OneSessionHandler<AId>, TupleElement26: OneSessionHandler<AId>, TupleElement27: OneSessionHandler<AId>, TupleElement28: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26, TupleElement27, TupleElement28)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

source§

impl<AId, TupleElement0: OneSessionHandler<AId>, TupleElement1: OneSessionHandler<AId>, TupleElement2: OneSessionHandler<AId>, TupleElement3: OneSessionHandler<AId>, TupleElement4: OneSessionHandler<AId>, TupleElement5: OneSessionHandler<AId>, TupleElement6: OneSessionHandler<AId>, TupleElement7: OneSessionHandler<AId>, TupleElement8: OneSessionHandler<AId>, TupleElement9: OneSessionHandler<AId>, TupleElement10: OneSessionHandler<AId>, TupleElement11: OneSessionHandler<AId>, TupleElement12: OneSessionHandler<AId>, TupleElement13: OneSessionHandler<AId>, TupleElement14: OneSessionHandler<AId>, TupleElement15: OneSessionHandler<AId>, TupleElement16: OneSessionHandler<AId>, TupleElement17: OneSessionHandler<AId>, TupleElement18: OneSessionHandler<AId>, TupleElement19: OneSessionHandler<AId>, TupleElement20: OneSessionHandler<AId>, TupleElement21: OneSessionHandler<AId>, TupleElement22: OneSessionHandler<AId>, TupleElement23: OneSessionHandler<AId>, TupleElement24: OneSessionHandler<AId>, TupleElement25: OneSessionHandler<AId>, TupleElement26: OneSessionHandler<AId>, TupleElement27: OneSessionHandler<AId>, TupleElement28: OneSessionHandler<AId>, TupleElement29: OneSessionHandler<AId>> SessionHandler<AId> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26, TupleElement27, TupleElement28, TupleElement29)

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _

source§

fn on_genesis_session<Ks: OpaqueKeys>(validators: &[(AId, Ks)])

source§

fn on_new_session<Ks: OpaqueKeys>( changed: bool, validators: &[(AId, Ks)], queued_validators: &[(AId, Ks)] )

source§

fn on_before_session_ending()

source§

fn on_disabled(i: u32)

Implementors§

source§

impl<AId> SessionHandler<AId> for TestSessionHandler

source§

const KEY_TYPE_IDS: &'static [KeyTypeId] = _