pub async fn route_from_registration<R, C, V>(
registration_decl: R,
registration_target: Arc<C>,
sources: Sources,
visitor: &mut V,
mapper: &mut dyn DebugRouteMapper,
) -> Result<CapabilitySource, RoutingError>where
R: RegistrationDeclCommon + ErrorNotFoundFromParent + ErrorNotFoundInChild + Into<RegistrationDecl> + Clone + 'static,
C: ComponentInstanceInterface + 'static,
V: OfferVisitor + ExposeVisitor + CapabilityVisitor + Clone + Send + Sync + 'static,
Expand description
Routes a capability from its environment Registration
declaration to its source by following
Offer
and Expose
declarations.
sources
defines what are the valid sources of the capability. See Sources
.
visitor
is invoked for each Offer
and Expose
declaration in the routing path, as well as
the final Capability
declaration if sources
permits.