mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-28 20:17:57 +00:00
refactor+feat: allow subsystems to send only declared messages, generate graphviz (#5314)
Closes #3774 Closes #3826
This commit is contained in:
committed by
GitHub
parent
26340b9054
commit
511891dcce
@@ -24,9 +24,7 @@
|
||||
pub use jaeger::*;
|
||||
pub use polkadot_node_jaeger as jaeger;
|
||||
|
||||
pub use polkadot_overseer::{
|
||||
self as overseer, ActiveLeavesUpdate, OverseerConnector, OverseerSignal,
|
||||
};
|
||||
pub use polkadot_overseer::{self as overseer, *};
|
||||
|
||||
pub use polkadot_node_subsystem_types::{
|
||||
errors::{self, *},
|
||||
@@ -54,37 +52,5 @@ pub type FromOverseer<M> = polkadot_overseer::gen::FromOverseer<M, OverseerSigna
|
||||
pub type SubsystemInstance<Message> =
|
||||
polkadot_overseer::gen::SubsystemInstance<Message, OverseerSignal>;
|
||||
|
||||
/// Sender trait for the `AllMessages` wrapper.
|
||||
pub trait SubsystemSender: polkadot_overseer::gen::SubsystemSender<messages::AllMessages> {}
|
||||
|
||||
impl<T> SubsystemSender for T where T: polkadot_overseer::gen::SubsystemSender<messages::AllMessages>
|
||||
{}
|
||||
|
||||
/// Spawned subsystem.
|
||||
pub type SpawnedSubsystem = polkadot_overseer::gen::SpawnedSubsystem<SubsystemError>;
|
||||
|
||||
/// Convenience trait specialization.
|
||||
pub trait SubsystemContext:
|
||||
polkadot_overseer::gen::SubsystemContext<
|
||||
Signal = OverseerSignal,
|
||||
AllMessages = messages::AllMessages,
|
||||
Error = SubsystemError,
|
||||
>
|
||||
{
|
||||
/// The message type the subsystem consumes.
|
||||
type Message: std::fmt::Debug + Send + 'static;
|
||||
/// Sender type to communicate with other subsystems.
|
||||
type Sender: SubsystemSender + Send + Clone + 'static;
|
||||
}
|
||||
|
||||
impl<T> SubsystemContext for T
|
||||
where
|
||||
T: polkadot_overseer::gen::SubsystemContext<
|
||||
Signal = OverseerSignal,
|
||||
AllMessages = messages::AllMessages,
|
||||
Error = SubsystemError,
|
||||
>,
|
||||
{
|
||||
type Message = <Self as polkadot_overseer::gen::SubsystemContext>::Message;
|
||||
type Sender = <Self as polkadot_overseer::gen::SubsystemContext>::Sender;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user