pub struct HttpIndex<K: Key> { /* private fields */ }Expand description
HTTP-based index for remote access
Implementations§
Source§impl<K: Key> HttpIndex<K>
impl<K: Key> HttpIndex<K>
Sourcepub fn new(
num_items: usize,
branching_factor: u16,
index_begin: usize,
feature_begin: usize,
combine_request_threshold: usize,
) -> Self
pub fn new( num_items: usize, branching_factor: u16, index_begin: usize, feature_begin: usize, combine_request_threshold: usize, ) -> Self
Create a new HTTP index descriptor with all necessary metadata
Sourcepub async fn find_exact<T: AsyncHttpRangeClient>(
&self,
client: &mut AsyncBufferedHttpRangeClient<T>,
key: K,
) -> Result<Vec<HttpSearchResultItem>>
pub async fn find_exact<T: AsyncHttpRangeClient>( &self, client: &mut AsyncBufferedHttpRangeClient<T>, key: K, ) -> Result<Vec<HttpSearchResultItem>>
Find exact matches for a key via HTTP
Sourcepub async fn find_range<T: AsyncHttpRangeClient>(
&self,
client: &mut AsyncBufferedHttpRangeClient<T>,
start: Option<K>,
end: Option<K>,
) -> Result<Vec<HttpSearchResultItem>>
pub async fn find_range<T: AsyncHttpRangeClient>( &self, client: &mut AsyncBufferedHttpRangeClient<T>, start: Option<K>, end: Option<K>, ) -> Result<Vec<HttpSearchResultItem>>
Find all items in [start..end] via HTTP. At least one bound is required.
Sourcepub async fn find_range_strict<T: AsyncHttpRangeClient>(
&self,
client: &mut AsyncBufferedHttpRangeClient<T>,
start: Option<K>,
start_strict: bool,
end: Option<K>,
end_strict: bool,
) -> Result<Vec<HttpSearchResultItem>>
pub async fn find_range_strict<T: AsyncHttpRangeClient>( &self, client: &mut AsyncBufferedHttpRangeClient<T>, start: Option<K>, start_strict: bool, end: Option<K>, end_strict: bool, ) -> Result<Vec<HttpSearchResultItem>>
Find all items in the range via HTTP, with each bound independently
strict (exclusive) or inclusive. A None bound is the type’s min/max
sentinel and is never strict.
Gt/Lt/Ne lower to this instead of subtracting find_exact from
an inclusive range: the subtraction removes feature offsets, and one
feature can be indexed under several keys, so it deletes features that
match through a different key.
Trait Implementations§
Source§impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<DateTime<Utc>>
impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<DateTime<Utc>>
Source§fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a typed query condition over HTTP with a specific HTTP client
Source§impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<FixedStringKey<100>>
impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<FixedStringKey<100>>
Source§fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a typed query condition over HTTP with a specific HTTP client
Source§impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<FixedStringKey<20>>
impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<FixedStringKey<20>>
Source§fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a typed query condition over HTTP with a specific HTTP client
Source§impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<FixedStringKey<50>>
impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<FixedStringKey<50>>
Source§fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a typed query condition over HTTP with a specific HTTP client
Source§impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<OrderedFloat<f32>>
impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<OrderedFloat<f32>>
Source§fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a typed query condition over HTTP with a specific HTTP client
Source§impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<OrderedFloat<f64>>
impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<OrderedFloat<f64>>
Source§fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a typed query condition over HTTP with a specific HTTP client
Source§impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<bool>
impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<bool>
Source§fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a typed query condition over HTTP with a specific HTTP client
Source§impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<i16>
impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<i16>
Source§fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a typed query condition over HTTP with a specific HTTP client
Source§impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<i32>
impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<i32>
Source§fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a typed query condition over HTTP with a specific HTTP client
Source§impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<i64>
impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<i64>
Source§fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a typed query condition over HTTP with a specific HTTP client
Source§impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<i8>
impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<i8>
Source§fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a typed query condition over HTTP with a specific HTTP client
Source§impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<u16>
impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<u16>
Source§fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a typed query condition over HTTP with a specific HTTP client
Source§impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<u32>
impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<u32>
Source§fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a typed query condition over HTTP with a specific HTTP client
Source§impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<u64>
impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<u64>
Source§fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a typed query condition over HTTP with a specific HTTP client
Source§impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<u8>
impl<T: AsyncHttpRangeClient + Send + Sync> TypedHttpSearchIndex<T> for HttpIndex<u8>
Source§fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn execute_query_condition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 mut AsyncBufferedHttpRangeClient<T>,
condition: &'life2 QueryCondition,
) -> Pin<Box<dyn Future<Output = Result<Vec<HttpSearchResultItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a typed query condition over HTTP with a specific HTTP client
Auto Trait Implementations§
impl<K> Freeze for HttpIndex<K>
impl<K> RefUnwindSafe for HttpIndex<K>where
K: RefUnwindSafe,
impl<K> Send for HttpIndex<K>where
K: Send,
impl<K> Sync for HttpIndex<K>where
K: Sync,
impl<K> Unpin for HttpIndex<K>where
K: Unpin,
impl<K> UnsafeUnpin for HttpIndex<K>
impl<K> UnwindSafe for HttpIndex<K>where
K: UnwindSafe,
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