pub struct MetricRoutingServiceHandle(/* private fields */);Expand description
Concrete type-indexable wrapper around a metric routing service.
Implementations§
Source§impl MetricRoutingServiceHandle
impl MetricRoutingServiceHandle
Sourcepub fn new(service: Arc<dyn MetricRoutingService>) -> Self
pub fn new(service: Arc<dyn MetricRoutingService>) -> Self
Wraps an Axiolid or alternate backend implementation for service registration.
Sourcepub fn route(
&self,
request: &MetricRouteRequest,
) -> Result<MetricRouteOutcome, MetricRoutingError>
pub fn route( &self, request: &MetricRouteRequest, ) -> Result<MetricRouteOutcome, MetricRoutingError>
Executes and validates endpoint identity in the backend response.
Sourcepub fn nearest_target(
&self,
request: &NearestTargetRequest,
) -> Result<NearestTargetOutcome, MetricRoutingError>
pub fn nearest_target( &self, request: &NearestTargetRequest, ) -> Result<NearestTargetOutcome, MetricRoutingError>
Executes a nearest-target query and checks the answer is bound to it: the target exists, the route starts at the origin and ends at it, and an unreachable verdict names this request.
A request avoiding objects is refused unless the backend avoids objects.
Sourcepub fn farthest_point(
&self,
request: &FarthestPointRequest,
) -> Result<FarthestPointOutcome, MetricRoutingError>
pub fn farthest_point( &self, request: &FarthestPointRequest, ) -> Result<FarthestPointOutcome, MetricRoutingError>
Executes a farthest-point query and checks the answer is bound to it: the witness lies on the requested region, a claimed convergence holds for the requested tolerance, and an unreachable verdict names this request.
Source§impl MetricRoutingServiceHandle
impl MetricRoutingServiceHandle
Sourcepub fn forced_walk(
&self,
request: &ForcedWalkRequest,
) -> Result<ForcedWalkOutcome, MetricRoutingError>
pub fn forced_walk( &self, request: &ForcedWalkRequest, ) -> Result<ForcedWalkOutcome, MetricRoutingError>
Executes a forced-walk query and checks the answer is bound to it: a
claimed convergence holds for the requested tolerance, and a
never-entered verdict names this request. A request avoiding
objects or climbing connectors is refused as for
Self::nearest_target.
Sourcepub fn trace_path(
&self,
request: &PathTraceRequest,
) -> Result<PathTrace, MetricRoutingError>
pub fn trace_path( &self, request: &PathTraceRequest, ) -> Result<PathTrace, MetricRoutingError>
Traces a polyline over objects and checks the answer is bound to it: one length per requested object, none surely longer than the polyline itself.