pub struct ExtensionBinding {
pub kind: PackDescriptor,
pub pack_ref: PackId,
pub instance_id: Option<String>,
pub answers_ref: Option<PathBuf>,
pub generation: u64,
pub previous_binding_ref: Option<PathBuf>,
}Expand description
An open-namespace capability binding (§5.1, Path 3).
Unlike EnvPackBinding it carries no slot field — its slot is always
CapabilitySlot::Extension. Its identity
is (kind.path(), instance_id): the descriptor path plus an optional
instance selector distinguishing N instances of the same extension type.
Bindings live in Environment::extensions, never in
Environment::packs, so the 1-per-slot rule does not apply; a workload
resolves one by name via ext://<path>[/<instance>]
(ExtensionRef) — no typed host interface is wired.
Fields§
§kind: PackDescriptor§pack_ref: PackId§instance_id: Option<String>Distinguishes N instances of the SAME extension type. None ⇒ the
descriptor path is the whole key (the single default instance). A
None binding and a Some(..) binding on the same path coexist; two
None bindings on the same path collide.
answers_ref: Option<PathBuf>extensions/<path>[-<instance>]/answers.json (env-relative path).
generation: u64Bumped on attach/update/remove/rollback.
previous_binding_ref: Option<PathBuf>Implementations§
Trait Implementations§
Source§impl Clone for ExtensionBinding
impl Clone for ExtensionBinding
Source§fn clone(&self) -> ExtensionBinding
fn clone(&self) -> ExtensionBinding
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 ExtensionBinding
impl Debug for ExtensionBinding
Source§impl<'de> Deserialize<'de> for ExtensionBinding
impl<'de> Deserialize<'de> for ExtensionBinding
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 ExtensionBinding
Source§impl PartialEq for ExtensionBinding
impl PartialEq for ExtensionBinding
Source§fn eq(&self, other: &ExtensionBinding) -> bool
fn eq(&self, other: &ExtensionBinding) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ExtensionBinding
impl Serialize for ExtensionBinding
impl StructuralPartialEq for ExtensionBinding
Auto Trait Implementations§
impl Freeze for ExtensionBinding
impl RefUnwindSafe for ExtensionBinding
impl Send for ExtensionBinding
impl Sync for ExtensionBinding
impl Unpin for ExtensionBinding
impl UnsafeUnpin for ExtensionBinding
impl UnwindSafe for ExtensionBinding
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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>
T in a tonic::Request