Trait typedb_protocol::type_db_server::TypeDb
source · 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
Required Methods
sourcefn 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_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,
Database Manager API
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,
sourcefn 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_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,
Database API
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,
sourcefn 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_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,
Session API
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,
sourcefn 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 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,
Checks with the server that the session is still alive, and informs it that it should be kept alive.
sourcefn 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,
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,
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.