pub trait FilteredAggregateCapabilityProvider: Send + Sync {
// Required methods
fn route_instances(
&self,
) -> Vec<BoxFuture<'_, Result<FilteredAggregateCapabilityRouteData, RoutingError>>>;
fn clone_boxed(&self) -> Box<dyn FilteredAggregateCapabilityProvider>;
}
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§
Sourcefn route_instances(
&self,
) -> Vec<BoxFuture<'_, Result<FilteredAggregateCapabilityRouteData, RoutingError>>>
fn route_instances( &self, ) -> Vec<BoxFuture<'_, Result<FilteredAggregateCapabilityRouteData, 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.
Sourcefn clone_boxed(&self) -> Box<dyn FilteredAggregateCapabilityProvider>
fn clone_boxed(&self) -> Box<dyn FilteredAggregateCapabilityProvider>
Trait-object compatible clone.