Trait ElementIndex
Source pub trait ElementIndex: Send + Sync {
// Required methods
fn get_element<'life0, 'life1, 'async_trait>(
&'life0 self,
element_ref: &'life1 ElementReference,
) -> Pin<Box<dyn Future<Output = Result<Option<Arc<Element>>, IndexError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn set_element<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
element: &'life1 Element,
slot_affinity: &'life2 Vec<usize>,
) -> Pin<Box<dyn Future<Output = Result<(), IndexError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn delete_element<'life0, 'life1, 'async_trait>(
&'life0 self,
element_ref: &'life1 ElementReference,
) -> Pin<Box<dyn Future<Output = Result<(), IndexError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn get_slot_element_by_ref<'life0, 'life1, 'async_trait>(
&'life0 self,
slot: usize,
element_ref: &'life1 ElementReference,
) -> Pin<Box<dyn Future<Output = Result<Option<Arc<Element>>, IndexError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn get_slot_elements_by_inbound<'life0, 'life1, 'async_trait>(
&'life0 self,
slot: usize,
inbound_ref: &'life1 ElementReference,
) -> Pin<Box<dyn Future<Output = Result<ElementStream, IndexError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn get_slot_elements_by_outbound<'life0, 'life1, 'async_trait>(
&'life0 self,
slot: usize,
outbound_ref: &'life1 ElementReference,
) -> Pin<Box<dyn Future<Output = Result<ElementStream, IndexError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn clear<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), IndexError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn set_joins<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
match_path: &'life1 MatchPath,
joins: &'life2 Vec<Arc<QueryJoin>>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
}