pub trait ForkByErrorPredicate {
    const UNIT_ERROR: DataErrorKind = DataErrorKind::MarkerNotFound;

    // Required method
    fn test(
        &self,
        marker: DataMarkerInfo,
        req: Option<DataRequest<'_>>,
        err: DataError,
    ) -> bool;
}
Expand description

The predicate trait used by ForkByErrorProvider.

Provided Associated Constants§

source

const UNIT_ERROR: DataErrorKind = DataErrorKind::MarkerNotFound

The error to return if there are zero providers.

Required Methods§

source

fn test( &self, marker: DataMarkerInfo, req: Option<DataRequest<'_>>, err: DataError, ) -> bool

This function is called when a data request fails and there are additional providers that could possibly fulfill the request.

Arguments:

  • &self = Reference to the struct implementing the trait (for data capture)
  • marker = The [DataMarkerInfo] associated with the request
  • req = The [DataRequest]. This may be None if there is no request, such as inside [IterableDynamicDataProvider].
  • err = The error that occurred.

Return value:

  • true to discard the error and attempt the request with the next provider.
  • false to return the error and not perform any additional requests.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl ForkByErrorPredicate for IdentifierNotFoundPredicate

source§

const UNIT_ERROR: DataErrorKind = DataErrorKind::IdentifierNotFound

source§

impl ForkByErrorPredicate for MarkerNotFoundPredicate

source§

const UNIT_ERROR: DataErrorKind = DataErrorKind::MarkerNotFound