pub struct ModuleDescriptor {
pub name: &'static str,
pub providers: &'static [&'static ProviderDescriptor],
pub controllers: &'static [&'static str],
pub imports: &'static [fn() -> &'static ModuleDescriptor],
pub gateways: &'static [&'static str],
}Expand description
Emitted by #[Module]. Owns its providers, the controllers it exposes,
and the imports it pulls in. Used to walk the module DAG at boot.
Fields§
§name: &'static str§providers: &'static [&'static ProviderDescriptor]§controllers: &'static [&'static str]Names of controllers (type idents) belonging to this module. Routes emitted under these controllers are eligible to mount when this module is reachable from the root.
imports: &'static [fn() -> &'static ModuleDescriptor]Submodules to walk transitively. Empty array means “leaf module”.
gateways: &'static [&'static str]Names of real-time gateways (type idents) belonging to this module. Gateways emitted under these names mount their WebSocket route only when the owning module is reachable from the root — same encapsulation rule as controllers.
Trait Implementations§
impl Collect for &'static ModuleDescriptor
Auto Trait Implementations§
impl Freeze for ModuleDescriptor
impl RefUnwindSafe for ModuleDescriptor
impl Send for ModuleDescriptor
impl Sync for ModuleDescriptor
impl Unpin for ModuleDescriptor
impl UnsafeUnpin for ModuleDescriptor
impl UnwindSafe for ModuleDescriptor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request