pub struct ComponentMeta {
pub id: ComponentId,
pub name: String,
pub version: String,
pub requires: Vec<ComponentId>,
pub provides: Vec<ServiceCapability>,
pub needs: Vec<CapabilityRequest>,
pub children: Vec<ChildSpec>,
pub supervision: Option<SupervisionPolicy>,
pub actions: Vec<ActionDeclaration>,
pub fragments: Vec<FragmentDeclaration>,
}Expand description
Metadata declaring a native component’s identity, process tree, and contracts.
Fields§
§id: ComponentIdStable identity, independent of version and bytecode.
name: StringHuman-readable component name.
version: StringVersion that may change without changing Self::id.
requires: Vec<ComponentId>Registered components that must be running before this component starts.
provides: Vec<ServiceCapability>Service-wiring contracts contributed to the system.
This is lexically distinct from host authority in
crate::capability.
needs: Vec<CapabilityRequest>Host-mediated authority requested by the manifest, never granted by declaration.
children: Vec<ChildSpec>Retained specifications for linked child processes, in stop order.
supervision: Option<SupervisionPolicy>Explicit one-for-one policy; absence is rejected during registration.
actions: Vec<ActionDeclaration>Declared component actions (F-6a R1); validated atomically at registration, visible in the authoritative action snapshot only while this component’s incarnation is Running. Empty means no actions.
fragments: Vec<FragmentDeclaration>Declared view fragments (F-5a R1/R2); validated atomically at registration against the host’s caller-supplied byte limit, visible in the authoritative fragment snapshot only while this component’s incarnation is Running. The ID set is static per incarnation; content is live through the registry’s update operation. Empty means no fragments.
Trait Implementations§
Source§impl Clone for ComponentMeta
impl Clone for ComponentMeta
Source§fn clone(&self) -> ComponentMeta
fn clone(&self) -> ComponentMeta
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ComponentMeta
impl Debug for ComponentMeta
Source§impl<'de> Deserialize<'de> for ComponentMeta
impl<'de> Deserialize<'de> for ComponentMeta
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for ComponentMeta
Source§impl PartialEq for ComponentMeta
impl PartialEq for ComponentMeta
Source§impl Serialize for ComponentMeta
impl Serialize for ComponentMeta
impl StructuralPartialEq for ComponentMeta
Auto Trait Implementations§
impl Freeze for ComponentMeta
impl RefUnwindSafe for ComponentMeta
impl Send for ComponentMeta
impl Sync for ComponentMeta
impl Unpin for ComponentMeta
impl UnsafeUnpin for ComponentMeta
impl UnwindSafe for ComponentMeta
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.