pub trait CommandStoreOps: Send + Sync {
// Required methods
fn resolve_task_id<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
repo: &'life1 str,
task_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Option<i64>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn set_block_reason<'life0, 'life1, 'async_trait>(
&'life0 self,
id: i64,
reason: Option<&'life1 str>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn reset_counters<'life0, 'async_trait>(
&'life0 self,
id: i64,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn status<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
repo: &'life1 str,
task_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Option<TaskStatus>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
}Expand description
Minimal store interface required by command execution.
Exists so tests can inject a mock that simulates DB failures without coupling the test harness to a real SQLite pool.
Required Methods§
fn resolve_task_id<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
repo: &'life1 str,
task_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Option<i64>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn set_block_reason<'life0, 'life1, 'async_trait>(
&'life0 self,
id: i64,
reason: Option<&'life1 str>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Sourcefn reset_counters<'life0, 'async_trait>(
&'life0 self,
id: i64,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn reset_counters<'life0, 'async_trait>(
&'life0 self,
id: i64,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Reset all per-attempt counters for a task. Fire-and-forget — failures are
logged but not propagated (same semantics as store::store_reset_counters).
Sourcefn status<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
repo: &'life1 str,
task_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Option<TaskStatus>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn status<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
repo: &'life1 str,
task_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Option<TaskStatus>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Current status of a task, or None when the store has no such task.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".