Struct summa_server::apis::index::IndexApiImpl
source · pub struct IndexApiImpl { /* private fields */ }Implementations§
source§impl IndexApiImpl
impl IndexApiImpl
pub fn new( server_config: &Arc<dyn ConfigProxy<Config>>, index_service: &Index ) -> SummaServerResult<IndexApiImpl>
source§impl IndexApiImpl
impl IndexApiImpl
pub async fn get_index_description( &self, index_holder: &Handler<IndexHolder> ) -> IndexDescription
Trait Implementations§
source§impl Clone for IndexApiImpl
impl Clone for IndexApiImpl
source§fn clone(&self) -> IndexApiImpl
fn clone(&self) -> IndexApiImpl
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl IndexApi for IndexApiImpl
impl IndexApi for IndexApiImpl
source§fn attach_index<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<AttachIndexRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<AttachIndexResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn attach_index<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<AttachIndexRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<AttachIndexResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Attaches index to Summa server. Attaching allows to incorporate and start using of downloaded or network indices
source§fn commit_index<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<CommitIndexRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<CommitIndexResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn commit_index<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<CommitIndexRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<CommitIndexResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Committing all collected writes to the index
source§fn copy_documents<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<CopyDocumentsRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<CopyDocumentsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn copy_documents<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<CopyDocumentsRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<CopyDocumentsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Copy documents from one index to another
source§fn create_index<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<CreateIndexRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<CreateIndexResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_index<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<CreateIndexRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<CreateIndexResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Creates new index from scratch
source§fn copy_index<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<CopyIndexRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<CopyIndexResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn copy_index<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<CopyIndexRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<CopyIndexResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Creates new index from scratch
source§fn delete_documents<'life0, 'async_trait>(
&'life0 self,
request: Request<DeleteDocumentsRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<DeleteDocumentsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_documents<'life0, 'async_trait>(
&'life0 self,
request: Request<DeleteDocumentsRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<DeleteDocumentsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Deletes single document from the index by its primary key (therefore, index must have primary key)
source§fn delete_index<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<DeleteIndexRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<DeleteIndexResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_index<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<DeleteIndexRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<DeleteIndexResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Deletes index and physically removes file in the case of
FileEngine§type documentsStream = ReceiverStream<Result<DocumentsResponse, Status>>
type documentsStream = ReceiverStream<Result<DocumentsResponse, Status>>
Server streaming response type for the documents method.
source§fn documents<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<DocumentsRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<Self::documentsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn documents<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<DocumentsRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<Self::documentsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Stream of all documents from the index
source§fn get_indices_aliases<'life0, 'async_trait>(
&'life0 self,
__arg1: Request<GetIndicesAliasesRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetIndicesAliasesResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_indices_aliases<'life0, 'async_trait>(
&'life0 self,
__arg1: Request<GetIndicesAliasesRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetIndicesAliasesResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Gets all existing index aliases
source§fn get_index<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<GetIndexRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetIndexResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_index<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<GetIndexRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetIndexResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Gets index description
source§fn get_indices<'life0, 'async_trait>(
&'life0 self,
__arg1: Request<GetIndicesRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetIndicesResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_indices<'life0, 'async_trait>(
&'life0 self,
__arg1: Request<GetIndicesRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GetIndicesResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Gets all existing index descriptions
source§fn index_document_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<Streaming<IndexDocumentStreamRequest>>
) -> Pin<Box<dyn Future<Output = Result<Response<IndexDocumentStreamResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn index_document_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<Streaming<IndexDocumentStreamRequest>>
) -> Pin<Box<dyn Future<Output = Result<Response<IndexDocumentStreamResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Adds document to the index in a streaming way
source§fn index_document<'life0, 'async_trait>(
&'life0 self,
request: Request<IndexDocumentRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<IndexDocumentResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn index_document<'life0, 'async_trait>(
&'life0 self,
request: Request<IndexDocumentRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<IndexDocumentResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Adds document to the index
source§fn merge_segments<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<MergeSegmentsRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MergeSegmentsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn merge_segments<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<MergeSegmentsRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MergeSegmentsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Merges multiple segments into a single one. Used for service purposes
source§fn set_index_alias<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<SetIndexAliasRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<SetIndexAliasResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_index_alias<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<SetIndexAliasRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<SetIndexAliasResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Sets or replaces existing index alias
source§fn vacuum_index<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<VacuumIndexRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<VacuumIndexResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn vacuum_index<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<VacuumIndexRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<VacuumIndexResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Removes deletions from all segments
source§fn warmup_index<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<WarmupIndexRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<WarmupIndexResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn warmup_index<'life0, 'async_trait>(
&'life0 self,
proto_request: Request<WarmupIndexRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<WarmupIndexResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Loads all hot parts of the index into the memory
Auto Trait Implementations§
impl !RefUnwindSafe for IndexApiImpl
impl Send for IndexApiImpl
impl Sync for IndexApiImpl
impl Unpin for IndexApiImpl
impl !UnwindSafe for IndexApiImpl
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> 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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request