Skip to main content

Gonzalo

Trait Gonzalo 

Source
pub trait Gonzalo:
    Send
    + Sync
    + 'static {
Show 19 methods // Required methods fn get<'life0, 'async_trait>( &'life0 self, request: Request<GetRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn put<'life0, 'async_trait>( &'life0 self, request: Request<PutRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<PutResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn delete<'life0, 'async_trait>( &'life0 self, request: Request<DeleteRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DeleteResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn list<'life0, 'async_trait>( &'life0 self, request: Request<ListRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_raw<'life0, 'async_trait>( &'life0 self, request: Request<GetRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn list_raw<'life0, 'async_trait>( &'life0 self, request: Request<ListRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn put_raw<'life0, 'async_trait>( &'life0 self, request: Request<PutRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<PutResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn purge<'life0, 'async_trait>( &'life0 self, request: Request<PurgeRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<PurgeResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn ticket_sync<'life0, 'async_trait>( &'life0 self, request: Request<TicketSyncRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<TicketSyncResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn graph_definitions<'life0, 'async_trait>( &'life0 self, request: Request<GraphQueryRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GraphLocatedResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn graph_references_to<'life0, 'async_trait>( &'life0 self, request: Request<GraphQueryRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GraphLocatedResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn graph_callers_of<'life0, 'async_trait>( &'life0 self, request: Request<GraphQueryRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GraphNamesResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn graph_callees<'life0, 'async_trait>( &'life0 self, request: Request<GraphQueryRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GraphNamesResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn graph_impact<'life0, 'async_trait>( &'life0 self, request: Request<GraphQueryRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GraphNamesResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn put_blob<'life0, 'async_trait>( &'life0 self, request: Request<PutBlobRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<PutBlobResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_blob<'life0, 'async_trait>( &'life0 self, request: Request<GetBlobRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetBlobResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn has_blob<'life0, 'async_trait>( &'life0 self, request: Request<HasBlobRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<HasBlobResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn list_blobs<'life0, 'async_trait>( &'life0 self, request: Request<ListBlobsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListBlobsResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn delete_blob<'life0, 'async_trait>( &'life0 self, request: Request<DeleteBlobRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DeleteBlobResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait;
}
Expand description

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

Required Methods§

Source

fn get<'life0, 'async_trait>( &'life0 self, request: Request<GetRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn put<'life0, 'async_trait>( &'life0 self, request: Request<PutRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<PutResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn delete<'life0, 'async_trait>( &'life0 self, request: Request<DeleteRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DeleteResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn list<'life0, 'async_trait>( &'life0 self, request: Request<ListRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn get_raw<'life0, 'async_trait>( &'life0 self, request: Request<GetRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Replication surface (gonzalo#203). Raw reads include tombstones; PutRaw stores a record verbatim (revision never re-stamped; the author is kept only for an admin principal (including open mode’s implicit admin), per ADR 0015); Purge is the only physical removal and requires an admin. GetRaw/ListRaw/PutRaw reuse the Get/List/Put messages: the shapes are identical, only the store call differs.

Source

fn list_raw<'life0, 'async_trait>( &'life0 self, request: Request<ListRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn put_raw<'life0, 'async_trait>( &'life0 self, request: Request<PutRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<PutResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn purge<'life0, 'async_trait>( &'life0 self, request: Request<PurgeRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<PurgeResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn ticket_sync<'life0, 'async_trait>( &'life0 self, request: Request<TicketSyncRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<TicketSyncResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn graph_definitions<'life0, 'async_trait>( &'life0 self, request: Request<GraphQueryRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GraphLocatedResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Code graph queries (EPIC C). Each selects a view by (repo, view_id).

Source

fn graph_references_to<'life0, 'async_trait>( &'life0 self, request: Request<GraphQueryRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GraphLocatedResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn graph_callers_of<'life0, 'async_trait>( &'life0 self, request: Request<GraphQueryRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GraphNamesResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn graph_callees<'life0, 'async_trait>( &'life0 self, request: Request<GraphQueryRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GraphNamesResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn graph_impact<'life0, 'async_trait>( &'life0 self, request: Request<GraphQueryRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GraphNamesResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn put_blob<'life0, 'async_trait>( &'life0 self, request: Request<PutBlobRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<PutBlobResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Content-addressed blobs (gonzalo#184). Bodies ride as raw bytes, not JSON.

Source

fn get_blob<'life0, 'async_trait>( &'life0 self, request: Request<GetBlobRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetBlobResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn has_blob<'life0, 'async_trait>( &'life0 self, request: Request<HasBlobRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<HasBlobResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Presence only, so a writer confirming its referenced blobs survived a commit does not download them (ADR 0028, gonzalo#329).

Source

fn list_blobs<'life0, 'async_trait>( &'life0 self, request: Request<ListBlobsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListBlobsResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn delete_blob<'life0, 'async_trait>( &'life0 self, request: Request<DeleteBlobRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DeleteBlobResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§