pub struct InterfaceLinkDefinition {
pub source_id: ComponentId,
pub target: LatticeTarget,
pub name: LinkName,
pub wit_namespace: WitNamespace,
pub wit_package: WitPackage,
pub interfaces: Vec<WitInterface>,
pub source_config: Vec<KnownConfigName>,
pub target_config: Vec<KnownConfigName>,
}
Expand description
A link definition between a source and target component (actor or provider) on a given
interface. An InterfaceLinkDefinition
connects one component’s import to another
component’s export, specifying the configuration each component needs in order to execute
the request, and represents an operator’s intent to allow the source to invoke the target.
Fields§
§source_id: ComponentId
Source identifier for the link
target: LatticeTarget
Target for the link, which can be a unique identifier or (future) a routing group
name: LinkName
Name of the link. Not providing this is equivalent to specifying “default”
wit_namespace: WitNamespace
WIT namespace of the link operation, e.g. wasi
in wasi:keyvalue/readwrite.get
wit_package: WitPackage
WIT package of the link operation, e.g. keyvalue
in wasi:keyvalue/readwrite.get
interfaces: Vec<WitInterface>
WIT Interfaces to be used for the link, e.g. readwrite
, atomic
, etc.
source_config: Vec<KnownConfigName>
List of named configurations to provide to the source upon request
target_config: Vec<KnownConfigName>
List of named configurations to provide to the target upon request
Trait Implementations§
source§impl Clone for InterfaceLinkDefinition
impl Clone for InterfaceLinkDefinition
source§fn clone(&self) -> InterfaceLinkDefinition
fn clone(&self) -> InterfaceLinkDefinition
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for InterfaceLinkDefinition
impl Debug for InterfaceLinkDefinition
source§impl Default for InterfaceLinkDefinition
impl Default for InterfaceLinkDefinition
source§fn default() -> InterfaceLinkDefinition
fn default() -> InterfaceLinkDefinition
source§impl<'de> Deserialize<'de> for InterfaceLinkDefinition
impl<'de> Deserialize<'de> for InterfaceLinkDefinition
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>,
source§impl Hash for InterfaceLinkDefinition
impl Hash for InterfaceLinkDefinition
source§impl PartialEq for InterfaceLinkDefinition
impl PartialEq for InterfaceLinkDefinition
source§fn eq(&self, other: &InterfaceLinkDefinition) -> bool
fn eq(&self, other: &InterfaceLinkDefinition) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for InterfaceLinkDefinition
impl Serialize for InterfaceLinkDefinition
impl Eq for InterfaceLinkDefinition
impl StructuralPartialEq for InterfaceLinkDefinition
Auto Trait Implementations§
impl Freeze for InterfaceLinkDefinition
impl RefUnwindSafe for InterfaceLinkDefinition
impl Send for InterfaceLinkDefinition
impl Sync for InterfaceLinkDefinition
impl Unpin for InterfaceLinkDefinition
impl UnwindSafe for InterfaceLinkDefinition
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<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.