Skip to main content

WorkspaceAdvancedRepository

Trait WorkspaceAdvancedRepository 

Source
pub trait WorkspaceAdvancedRepository:
    Send
    + Sync
    + Debug {
Show 17 methods // Required methods fn put_upload<'life0, 'life1, 'async_trait>( &'life0 self, value: &'life1 UploadSession, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn get_upload<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, tenant_id: &'life1 str, id: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<Option<UploadSession>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn advance_upload<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, tenant_id: &'life1 str, id: &'life2 str, expected_offset: u64, expected_version: u64, new_offset: u64, state: UploadState, ) -> Pin<Box<dyn Future<Output = Result<UploadSession>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn put_command<'life0, 'life1, 'async_trait>( &'life0 self, value: &'life1 CommandResource, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn put_command_operation<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, command: &'life1 CommandResource, operation: &'life2 WorkspaceOperation, payload_json: &'life3 str, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait; fn get_command<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, tenant_id: &'life1 str, id: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<Option<CommandResource>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn transition_command<'life0, 'async_trait>( &'life0 self, request: CommandTransition, ) -> Pin<Box<dyn Future<Output = Result<CommandResource>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn append_output<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, tenant_id: &'life1 str, command_id: &'life2 str, chunks: &'life3 [OutputChunk], truncated: bool, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait; fn output_page<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, tenant_id: &'life1 str, command_id: &'life2 str, after: u64, limit: usize, ) -> Pin<Box<dyn Future<Output = Result<OutputPage>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn put_snapshot<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, value: &'life1 Snapshot, legacy_blob: Option<&'life2 [u8]>, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn get_snapshot<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, tenant_id: &'life1 str, id: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<Option<StoredSnapshot>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn list_expired_snapshots<'life0, 'life1, 'async_trait>( &'life0 self, tenant_id: &'life1 str, now_ms: u64, limit: usize, ) -> Pin<Box<dyn Future<Output = Result<Vec<Snapshot>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn delete_expired_snapshot_manifest<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, tenant_id: &'life1 str, id: &'life2 str, expected_expires_at_ms: u64, ) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn list_expired_previews<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, tenant_id: &'life1 str, workspace_id: &'life2 str, now_ms: u64, limit: usize, ) -> Pin<Box<dyn Future<Output = Result<Vec<StoredPreview>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn reconcile_expired<'life0, 'life1, 'async_trait>( &'life0 self, tenant_id: &'life1 str, now_ms: u64, ) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn keep_alive_workspace<'life0, 'async_trait>( &'life0 self, request: WorkspaceLeaseKeepAlive, ) -> Pin<Box<dyn Future<Output = Result<WorkspaceLease>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; // Provided method fn record_snapshot_cleanup_failure<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, tenant_id: &'life1 str, id: &'life2 str, now_ms: u64, error: &'life3 str, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait { ... }
}

Required Methods§

Source

fn put_upload<'life0, 'life1, 'async_trait>( &'life0 self, value: &'life1 UploadSession, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn get_upload<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, tenant_id: &'life1 str, id: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<Option<UploadSession>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn advance_upload<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, tenant_id: &'life1 str, id: &'life2 str, expected_offset: u64, expected_version: u64, new_offset: u64, state: UploadState, ) -> Pin<Box<dyn Future<Output = Result<UploadSession>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn put_command<'life0, 'life1, 'async_trait>( &'life0 self, value: &'life1 CommandResource, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn put_command_operation<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, command: &'life1 CommandResource, operation: &'life2 WorkspaceOperation, payload_json: &'life3 str, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Source

fn get_command<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, tenant_id: &'life1 str, id: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<Option<CommandResource>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn transition_command<'life0, 'async_trait>( &'life0 self, request: CommandTransition, ) -> Pin<Box<dyn Future<Output = Result<CommandResource>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn append_output<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, tenant_id: &'life1 str, command_id: &'life2 str, chunks: &'life3 [OutputChunk], truncated: bool, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Source

fn output_page<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, tenant_id: &'life1 str, command_id: &'life2 str, after: u64, limit: usize, ) -> Pin<Box<dyn Future<Output = Result<OutputPage>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn put_snapshot<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, value: &'life1 Snapshot, legacy_blob: Option<&'life2 [u8]>, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn get_snapshot<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, tenant_id: &'life1 str, id: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<Option<StoredSnapshot>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn list_expired_snapshots<'life0, 'life1, 'async_trait>( &'life0 self, tenant_id: &'life1 str, now_ms: u64, limit: usize, ) -> Pin<Box<dyn Future<Output = Result<Vec<Snapshot>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn delete_expired_snapshot_manifest<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, tenant_id: &'life1 str, id: &'life2 str, expected_expires_at_ms: u64, ) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn list_expired_previews<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, tenant_id: &'life1 str, workspace_id: &'life2 str, now_ms: u64, limit: usize, ) -> Pin<Box<dyn Future<Output = Result<Vec<StoredPreview>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn reconcile_expired<'life0, 'life1, 'async_trait>( &'life0 self, tenant_id: &'life1 str, now_ms: u64, ) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn keep_alive_workspace<'life0, 'async_trait>( &'life0 self, request: WorkspaceLeaseKeepAlive, ) -> Pin<Box<dyn Future<Output = Result<WorkspaceLease>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Provided Methods§

Source

fn record_snapshot_cleanup_failure<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, tenant_id: &'life1 str, id: &'life2 str, now_ms: u64, error: &'life3 str, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Persist a failed object deletion so poison objects back off and cannot occupy every slot in subsequent bounded retention batches.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§