pub struct SearchExecutor { /* private fields */ }Expand description
Fans out a search across catalogs with retry, capped concurrency, and
per-catalog timeouts. Owns the reqwest::Client it borrows from the
engine so connection pools and default headers are shared.
Implementations§
Source§impl SearchExecutor
impl SearchExecutor
pub fn new(client: Client) -> Self
Sourcepub async fn federated_search(
&self,
catalogs: Vec<Catalog>,
query: SearchQuery,
options: FederationOptions,
) -> Result<SearchResponse, SuperSTACError>
pub async fn federated_search( &self, catalogs: Vec<Catalog>, query: SearchQuery, options: FederationOptions, ) -> Result<SearchResponse, SuperSTACError>
Query all catalogs concurrently and aggregate the results.
Per-catalog failures are recorded on the response metadata’s
failures field rather than failing the whole call.
Auto Trait Implementations§
impl Freeze for SearchExecutor
impl !RefUnwindSafe for SearchExecutor
impl Send for SearchExecutor
impl Sync for SearchExecutor
impl Unpin for SearchExecutor
impl UnsafeUnpin for SearchExecutor
impl !UnwindSafe for SearchExecutor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more