pub trait TypeDb: Send + Sync + 'static {
    type transactionStream: Stream<Item = Result<Server, Status>> + Send + 'static;

    fn databases_contains<'life0, 'async_trait>(
        &'life0 self,
        request: Request<Req>
    ) -> Pin<Box<dyn Future<Output = Result<Response<Res>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; fn databases_create<'life0, 'async_trait>(
        &'life0 self,
        request: Request<Req>
    ) -> Pin<Box<dyn Future<Output = Result<Response<Res>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; fn databases_all<'life0, 'async_trait>(
        &'life0 self,
        request: Request<Req>
    ) -> Pin<Box<dyn Future<Output = Result<Response<Res>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; fn database_schema<'life0, 'async_trait>(
        &'life0 self,
        request: Request<Req>
    ) -> Pin<Box<dyn Future<Output = Result<Response<Res>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; fn database_type_schema<'life0, 'async_trait>(
        &'life0 self,
        request: Request<Req>
    ) -> Pin<Box<dyn Future<Output = Result<Response<Res>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; fn database_rule_schema<'life0, 'async_trait>(
        &'life0 self,
        request: Request<Req>
    ) -> Pin<Box<dyn Future<Output = Result<Response<Res>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; fn database_delete<'life0, 'async_trait>(
        &'life0 self,
        request: Request<Req>
    ) -> Pin<Box<dyn Future<Output = Result<Response<Res>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; fn session_open<'life0, 'async_trait>(
        &'life0 self,
        request: Request<Req>
    ) -> Pin<Box<dyn Future<Output = Result<Response<Res>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; fn session_close<'life0, 'async_trait>(
        &'life0 self,
        request: Request<Req>
    ) -> Pin<Box<dyn Future<Output = Result<Response<Res>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; fn session_pulse<'life0, 'async_trait>(
        &'life0 self,
        request: Request<Req>
    ) -> Pin<Box<dyn Future<Output = Result<Response<Res>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; fn transaction<'life0, 'async_trait>(
        &'life0 self,
        request: Request<Streaming<Client>>
    ) -> Pin<Box<dyn Future<Output = Result<Response<Self::transactionStream>, Status>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Generated trait containing gRPC methods that should be implemented for use with TypeDbServer.

Required Associated Types

Server streaming response type for the transaction method.

Required Methods

Database Manager API

Database API

Session API

Checks with the server that the session is still alive, and informs it that it should be kept alive.

Transaction Streaming API Opens a bi-directional stream representing a stateful transaction, streaming requests and responses back-and-forth. The first transaction client message must be {Transaction.Open.Req}. Closing the stream closes the transaction.

Implementors