mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 07:01:03 +00:00
Skeleton of the Router module (#1726)
The purpose of this commit is to establish a foundation of the router module, it paves the way for the implementation of other features.
This commit is contained in:
@@ -27,7 +27,10 @@ use frame_support::{
|
||||
};
|
||||
use sp_runtime::traits::One;
|
||||
use codec::{Encode, Decode};
|
||||
use crate::{configuration::{self, HostConfiguration}, paras, scheduler, inclusion};
|
||||
use crate::{
|
||||
configuration::{self, HostConfiguration},
|
||||
paras, router, scheduler, inclusion,
|
||||
};
|
||||
|
||||
/// Information about a session change that has just occurred.
|
||||
#[derive(Default, Clone)]
|
||||
@@ -55,7 +58,12 @@ struct BufferedSessionChange<N> {
|
||||
}
|
||||
|
||||
pub trait Trait:
|
||||
frame_system::Trait + configuration::Trait + paras::Trait + scheduler::Trait + inclusion::Trait
|
||||
frame_system::Trait
|
||||
+ configuration::Trait
|
||||
+ paras::Trait
|
||||
+ scheduler::Trait
|
||||
+ inclusion::Trait
|
||||
+ router::Trait
|
||||
{
|
||||
/// A randomness beacon.
|
||||
type Randomness: Randomness<Self::Hash>;
|
||||
@@ -114,10 +122,12 @@ decl_module! {
|
||||
// - Scheduler
|
||||
// - Inclusion
|
||||
// - Validity
|
||||
// - Router
|
||||
let total_weight = configuration::Module::<T>::initializer_initialize(now) +
|
||||
paras::Module::<T>::initializer_initialize(now) +
|
||||
scheduler::Module::<T>::initializer_initialize(now) +
|
||||
inclusion::Module::<T>::initializer_initialize(now);
|
||||
inclusion::Module::<T>::initializer_initialize(now) +
|
||||
router::Module::<T>::initializer_initialize(now);
|
||||
|
||||
HasInitialized::set(Some(()));
|
||||
|
||||
@@ -127,6 +137,7 @@ decl_module! {
|
||||
fn on_finalize() {
|
||||
// reverse initialization order.
|
||||
|
||||
router::Module::<T>::initializer_finalize();
|
||||
inclusion::Module::<T>::initializer_finalize();
|
||||
scheduler::Module::<T>::initializer_finalize();
|
||||
paras::Module::<T>::initializer_finalize();
|
||||
@@ -170,6 +181,7 @@ impl<T: Trait> Module<T> {
|
||||
paras::Module::<T>::initializer_on_new_session(¬ification);
|
||||
scheduler::Module::<T>::initializer_on_new_session(¬ification);
|
||||
inclusion::Module::<T>::initializer_on_new_session(¬ification);
|
||||
router::Module::<T>::initializer_on_new_session(¬ification);
|
||||
}
|
||||
|
||||
/// Should be called when a new session occurs. Buffers the session notification to be applied
|
||||
|
||||
Reference in New Issue
Block a user