pub struct AstraeaGrpcService { /* private fields */ }Expand description
The gRPC service implementation. Holds a shared reference to the same
RequestHandler that the TCP server uses.
Implementations§
Source§impl AstraeaGrpcService
impl AstraeaGrpcService
pub fn new(handler: Arc<RequestHandler>) -> Self
Sourcepub fn into_service(self) -> AstraeaServiceServer<Self>
pub fn into_service(self) -> AstraeaServiceServer<Self>
Build a tonic service that can be added to a tonic::transport::Server.
Trait Implementations§
Source§impl AstraeaService for AstraeaGrpcService
impl AstraeaService for AstraeaGrpcService
Source§fn create_node<'life0, 'async_trait>(
&'life0 self,
request: Request<CreateNodeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<MutationResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_node<'life0, 'async_trait>(
&'life0 self,
request: Request<CreateNodeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<MutationResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Node CRUD
fn get_node<'life0, 'async_trait>(
&'life0 self,
request: Request<GetNodeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetNodeResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update_node<'life0, 'async_trait>(
&'life0 self,
request: Request<UpdateNodeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<MutationResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_node<'life0, 'async_trait>(
&'life0 self,
request: Request<DeleteNodeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<MutationResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn create_edge<'life0, 'async_trait>(
&'life0 self,
request: Request<CreateEdgeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<MutationResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_edge<'life0, 'async_trait>(
&'life0 self,
request: Request<CreateEdgeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<MutationResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Edge CRUD
fn get_edge<'life0, 'async_trait>(
&'life0 self,
request: Request<GetEdgeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetEdgeResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update_edge<'life0, 'async_trait>(
&'life0 self,
request: Request<UpdateEdgeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<MutationResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_edge<'life0, 'async_trait>(
&'life0 self,
request: Request<DeleteEdgeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<MutationResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn neighbors<'life0, 'async_trait>(
&'life0 self,
request: Request<NeighborsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<NeighborsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn neighbors<'life0, 'async_trait>(
&'life0 self,
request: Request<NeighborsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<NeighborsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Graph traversal
fn bfs<'life0, 'async_trait>(
&'life0 self,
request: Request<BfsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<BfsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn shortest_path<'life0, 'async_trait>(
&'life0 self,
request: Request<ShortestPathRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ShortestPathResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn vector_search<'life0, 'async_trait>(
&'life0 self,
request: Request<VectorSearchRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<VectorSearchResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn vector_search<'life0, 'async_trait>(
&'life0 self,
request: Request<VectorSearchRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<VectorSearchResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Vector search
Source§fn query<'life0, 'async_trait>(
&'life0 self,
request: Request<QueryRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<QueryResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn query<'life0, 'async_trait>(
&'life0 self,
request: Request<QueryRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<QueryResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
GQL query
Source§fn neighbors_at<'life0, 'async_trait>(
&'life0 self,
request: Request<NeighborsAtRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<NeighborsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn neighbors_at<'life0, 'async_trait>(
&'life0 self,
request: Request<NeighborsAtRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<NeighborsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Temporal traversals
fn bfs_at<'life0, 'async_trait>(
&'life0 self,
request: Request<BfsAtRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<BfsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn shortest_path_at<'life0, 'async_trait>(
&'life0 self,
request: Request<ShortestPathAtRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ShortestPathResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn dfs<'life0, 'async_trait>(
&'life0 self,
request: Request<DfsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DfsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn dfs<'life0, 'async_trait>(
&'life0 self,
request: Request<DfsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DfsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
DFS traversal
fn dfs_at<'life0, 'async_trait>(
&'life0 self,
request: Request<DfsAtRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DfsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn find_by_label<'life0, 'async_trait>(
&'life0 self,
request: Request<FindByLabelRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<FindByLabelResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn find_by_label<'life0, 'async_trait>(
&'life0 self,
request: Request<FindByLabelRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<FindByLabelResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Label lookup
Source§fn hybrid_search<'life0, 'async_trait>(
&'life0 self,
request: Request<HybridSearchRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GenericJsonResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn hybrid_search<'life0, 'async_trait>(
&'life0 self,
request: Request<HybridSearchRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GenericJsonResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Vector / semantic search
fn semantic_neighbors<'life0, 'async_trait>(
&'life0 self,
request: Request<SemanticNeighborsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GenericJsonResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn semantic_walk<'life0, 'async_trait>(
&'life0 self,
request: Request<SemanticWalkRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GenericJsonResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn run_page_rank<'life0, 'async_trait>(
&'life0 self,
request: Request<RunPageRankRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GenericJsonResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn run_page_rank<'life0, 'async_trait>(
&'life0 self,
request: Request<RunPageRankRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GenericJsonResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Graph algorithms
fn run_louvain<'life0, 'async_trait>(
&'life0 self,
request: Request<RunLouvainRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GenericJsonResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn run_connected_components<'life0, 'async_trait>(
&'life0 self,
request: Request<RunConnectedComponentsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GenericJsonResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn run_degree_centrality<'life0, 'async_trait>(
&'life0 self,
request: Request<RunDegreeCentralityRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GenericJsonResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn run_betweenness_centrality<'life0, 'async_trait>(
&'life0 self,
request: Request<RunBetweennessCentralityRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GenericJsonResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn graph_stats<'life0, 'async_trait>(
&'life0 self,
_request: Request<GraphStatsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GenericJsonResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn graph_stats<'life0, 'async_trait>(
&'life0 self,
_request: Request<GraphStatsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GenericJsonResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Graph stats & subgraph
fn get_subgraph<'life0, 'async_trait>(
&'life0 self,
request: Request<GetSubgraphRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GenericJsonResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn extract_subgraph<'life0, 'async_trait>(
&'life0 self,
request: Request<ExtractSubgraphRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GenericJsonResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn extract_subgraph<'life0, 'async_trait>(
&'life0 self,
request: Request<ExtractSubgraphRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GenericJsonResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
RAG
fn graph_rag<'life0, 'async_trait>(
&'life0 self,
request: Request<GraphRagRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GenericJsonResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl !RefUnwindSafe for AstraeaGrpcService
impl !UnwindSafe for AstraeaGrpcService
impl Freeze for AstraeaGrpcService
impl Send for AstraeaGrpcService
impl Sync for AstraeaGrpcService
impl Unpin for AstraeaGrpcService
impl UnsafeUnpin for AstraeaGrpcService
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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