pub trait SqliteTransport: Send + Sync {
// Required methods
fn get_pages<'life0, 'async_trait>(
&'life0 self,
request: SqliteGetPagesRequest,
) -> Pin<Box<dyn Future<Output = Result<SqliteGetPagesResponse>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn commit<'life0, 'async_trait>(
&'life0 self,
request: SqliteCommitRequest,
) -> Pin<Box<dyn Future<Output = Result<SqliteCommitResponse>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn commit_stage_begin<'life0, 'async_trait>(
&'life0 self,
request: SqliteCommitStageBeginRequest,
) -> Pin<Box<dyn Future<Output = Result<SqliteCommitStageBeginResponse>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn commit_stage_segment<'life0, 'async_trait>(
&'life0 self,
request: SqliteCommitStageSegmentRequest,
) -> Pin<Box<dyn Future<Output = Result<SqliteCommitStageSegmentResponse>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn commit_finalize<'life0, 'async_trait>(
&'life0 self,
request: SqliteCommitFinalizeRequest,
) -> Pin<Box<dyn Future<Output = Result<SqliteCommitFinalizeResponse>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Required Methods§
fn get_pages<'life0, 'async_trait>(
&'life0 self,
request: SqliteGetPagesRequest,
) -> Pin<Box<dyn Future<Output = Result<SqliteGetPagesResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn commit<'life0, 'async_trait>(
&'life0 self,
request: SqliteCommitRequest,
) -> Pin<Box<dyn Future<Output = Result<SqliteCommitResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Sourcefn commit_stage_begin<'life0, 'async_trait>(
&'life0 self,
request: SqliteCommitStageBeginRequest,
) -> Pin<Box<dyn Future<Output = Result<SqliteCommitStageBeginResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn commit_stage_begin<'life0, 'async_trait>(
&'life0 self,
request: SqliteCommitStageBeginRequest,
) -> Pin<Box<dyn Future<Output = Result<SqliteCommitStageBeginResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Opens a staged commit, for a commit too large to send in one message.
Required rather than defaulted. A default made staging look optional, and the transport that
runs depot vacuum in-process silently took it: every commit above the single-shot threshold
failed there, which is exactly the commit shape a vacuum produces. A transport that genuinely
cannot stage has to say so in its own body.
Sourcefn commit_stage_segment<'life0, 'async_trait>(
&'life0 self,
request: SqliteCommitStageSegmentRequest,
) -> Pin<Box<dyn Future<Output = Result<SqliteCommitStageSegmentResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn commit_stage_segment<'life0, 'async_trait>(
&'life0 self,
request: SqliteCommitStageSegmentRequest,
) -> Pin<Box<dyn Future<Output = Result<SqliteCommitStageSegmentResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Stages one shard-aligned segment of an open staged commit.
Sourcefn commit_finalize<'life0, 'async_trait>(
&'life0 self,
request: SqliteCommitFinalizeRequest,
) -> Pin<Box<dyn Future<Output = Result<SqliteCommitFinalizeResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn commit_finalize<'life0, 'async_trait>(
&'life0 self,
request: SqliteCommitFinalizeRequest,
) -> Pin<Box<dyn Future<Output = Result<SqliteCommitFinalizeResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Publishes an open staged commit, making every staged segment visible at once.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".