pub trait FilteredAggregateCapabilityProvider<C: ComponentInstanceInterface>: Send + Sync {
    // Required methods
    fn route_instances(
        &self
    ) -> Vec<BoxFuture<'_, Result<FilteredAggregateCapabilityRouteData<C>, RoutingError>>>;
    fn clone_boxed(&self) -> Box<dyn FilteredAggregateCapabilityProvider<C>>;
}
Expand description

A provider of a capability from an aggregation of zero or more offered instances of a capability, with filters.

This trait type-erases the capability type, so it can be handled and hosted generically.

Required Methods§

source

fn route_instances( &self ) -> Vec<BoxFuture<'_, Result<FilteredAggregateCapabilityRouteData<C>, RoutingError>>>

Return a list of futures to route every instance in the aggregate to its source. Each result is paired with the list of instances to include in the source.

source

fn clone_boxed(&self) -> Box<dyn FilteredAggregateCapabilityProvider<C>>

Trait-object compatible clone.

Trait Implementations§

source§

impl<C: ComponentInstanceInterface> Clone for Box<dyn FilteredAggregateCapabilityProvider<C>>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<C> Debug for Box<dyn FilteredAggregateCapabilityProvider<C>>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Implementors§