Skip to main content

SyncStateStore

Trait SyncStateStore 

Source
pub trait SyncStateStore {
    // Required methods
    fn applied_migrations(
        &mut self,
    ) -> Result<Vec<AppliedMigration>, SyncularError>;
    fn outbox_summaries(&mut self) -> Result<Vec<OutboxSummary>, SyncularError>;
    fn conflict_summaries(
        &mut self,
    ) -> Result<Vec<ConflictSummary>, SyncularError>;
    fn resolve_conflict(
        &mut self,
        id: &str,
        resolution: &str,
    ) -> Result<(), SyncularError>;
    fn retry_conflict_keep_local(
        &mut self,
        id: &str,
    ) -> Result<String, SyncularError>;

    // Provided methods
    fn app_schema_state(
        &mut self,
        current_schema_version: i32,
    ) -> Result<AppSchemaState, SyncularError> { ... }
    fn next_outbox_retry_at(&mut self) -> Result<Option<i64>, SyncularError> { ... }
    fn next_blob_upload_retry_at(
        &mut self,
    ) -> Result<Option<i64>, SyncularError> { ... }
    fn blob_health_summary(
        &mut self,
    ) -> Result<Option<BlobHealthSummary>, SyncularError> { ... }
    fn crdt_health_summary(
        &mut self,
    ) -> Result<Option<CrdtHealthSummary>, SyncularError> { ... }
    fn scoped_rows_health_summary(
        &mut self,
        _subscriptions: &[SubscriptionSpec],
    ) -> Result<Option<ScopedRowsHealthSummary>, SyncularError> { ... }
    fn clear_orphaned_synced_rows(
        &mut self,
        _subscriptions: &[SubscriptionSpec],
        _tables: &[String],
    ) -> Result<ScopedRowsHealthSummary, SyncularError> { ... }
}

Required Methods§

Provided Methods§

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§