pub trait ExplorerRepository: Send + Sync {
// Required methods
fn identity_ceiling<'a>(
&'a self,
query: &'a ExplorerQuery,
) -> BoxFuture<'a, Result<u64, ExplorerError>>;
fn job_names<'a>(
&'a self,
window: &'a QueryWindow,
) -> BoxFuture<'a, Result<Vec<JobName>, ExplorerError>>;
fn instances<'a>(
&'a self,
job_name: &'a JobName,
window: &'a QueryWindow,
) -> BoxFuture<'a, Result<Vec<JobInstanceProjection>, ExplorerError>>;
fn executions<'a>(
&'a self,
job_instance_id: JobInstanceId,
window: &'a QueryWindow,
) -> BoxFuture<'a, Result<Vec<JobExecutionProjection>, ExplorerError>>;
fn execution(
&self,
job_execution_id: JobExecutionId,
) -> BoxFuture<'_, Result<Option<JobExecutionProjection>, ExplorerError>>;
fn step_executions<'a>(
&'a self,
job_execution_id: JobExecutionId,
window: &'a QueryWindow,
) -> BoxFuture<'a, Result<Vec<StepExecutionProjection>, ExplorerError>>;
fn unresolved_executions<'a>(
&'a self,
minimum_age: Duration,
window: &'a QueryWindow,
) -> BoxFuture<'a, Result<Vec<JobExecutionProjection>, ExplorerError>>;
fn recovery_decisions<'a>(
&'a self,
job_execution_id: JobExecutionId,
window: &'a QueryWindow,
) -> BoxFuture<'a, Result<Vec<RecoveryDecision>, ExplorerError>>;
fn flow_decisions<'a>(
&'a self,
job_execution_id: JobExecutionId,
window: &'a QueryWindow,
) -> BoxFuture<'a, Result<Vec<FlowDecision>, ExplorerError>>;
fn step_partitions<'a>(
&'a self,
step_execution_id: StepExecutionId,
window: &'a QueryWindow,
) -> BoxFuture<'a, Result<Vec<StepPartitionProjection>, ExplorerError>>;
fn operator_requests<'a>(
&'a self,
job_execution_id: JobExecutionId,
window: &'a QueryWindow,
) -> BoxFuture<'a, Result<Vec<OperatorRecord>, ExplorerError>>;
}Expand description
A bounded read port one metadata adapter implements.
Every method executes one statement under the adapter’s ordinary read
committed isolation, returns at most QueryWindow::limit rows, and takes
no lock. Cross-page snapshot isolation is not provided.
Required Methods§
Sourcefn identity_ceiling<'a>(
&'a self,
query: &'a ExplorerQuery,
) -> BoxFuture<'a, Result<u64, ExplorerError>>
fn identity_ceiling<'a>( &'a self, query: &'a ExplorerQuery, ) -> BoxFuture<'a, Result<u64, ExplorerError>>
Captures the exclusive identity ceiling for one traversal.
Sourcefn job_names<'a>(
&'a self,
window: &'a QueryWindow,
) -> BoxFuture<'a, Result<Vec<JobName>, ExplorerError>>
fn job_names<'a>( &'a self, window: &'a QueryWindow, ) -> BoxFuture<'a, Result<Vec<JobName>, ExplorerError>>
Reads registered job names in byte order.
Sourcefn instances<'a>(
&'a self,
job_name: &'a JobName,
window: &'a QueryWindow,
) -> BoxFuture<'a, Result<Vec<JobInstanceProjection>, ExplorerError>>
fn instances<'a>( &'a self, job_name: &'a JobName, window: &'a QueryWindow, ) -> BoxFuture<'a, Result<Vec<JobInstanceProjection>, ExplorerError>>
Reads instances of one job name, newest identity first.
Sourcefn executions<'a>(
&'a self,
job_instance_id: JobInstanceId,
window: &'a QueryWindow,
) -> BoxFuture<'a, Result<Vec<JobExecutionProjection>, ExplorerError>>
fn executions<'a>( &'a self, job_instance_id: JobInstanceId, window: &'a QueryWindow, ) -> BoxFuture<'a, Result<Vec<JobExecutionProjection>, ExplorerError>>
Reads executions of one instance, newest attempt first.
Sourcefn execution(
&self,
job_execution_id: JobExecutionId,
) -> BoxFuture<'_, Result<Option<JobExecutionProjection>, ExplorerError>>
fn execution( &self, job_execution_id: JobExecutionId, ) -> BoxFuture<'_, Result<Option<JobExecutionProjection>, ExplorerError>>
Reads one execution projection.
Sourcefn step_executions<'a>(
&'a self,
job_execution_id: JobExecutionId,
window: &'a QueryWindow,
) -> BoxFuture<'a, Result<Vec<StepExecutionProjection>, ExplorerError>>
fn step_executions<'a>( &'a self, job_execution_id: JobExecutionId, window: &'a QueryWindow, ) -> BoxFuture<'a, Result<Vec<StepExecutionProjection>, ExplorerError>>
Reads step executions of one job execution.
Sourcefn unresolved_executions<'a>(
&'a self,
minimum_age: Duration,
window: &'a QueryWindow,
) -> BoxFuture<'a, Result<Vec<JobExecutionProjection>, ExplorerError>>
fn unresolved_executions<'a>( &'a self, minimum_age: Duration, window: &'a QueryWindow, ) -> BoxFuture<'a, Result<Vec<JobExecutionProjection>, ExplorerError>>
Reads non-terminal executions older than minimum_age.
Sourcefn recovery_decisions<'a>(
&'a self,
job_execution_id: JobExecutionId,
window: &'a QueryWindow,
) -> BoxFuture<'a, Result<Vec<RecoveryDecision>, ExplorerError>>
fn recovery_decisions<'a>( &'a self, job_execution_id: JobExecutionId, window: &'a QueryWindow, ) -> BoxFuture<'a, Result<Vec<RecoveryDecision>, ExplorerError>>
Reads recovery decisions of one job execution.
Sourcefn flow_decisions<'a>(
&'a self,
job_execution_id: JobExecutionId,
window: &'a QueryWindow,
) -> BoxFuture<'a, Result<Vec<FlowDecision>, ExplorerError>>
fn flow_decisions<'a>( &'a self, job_execution_id: JobExecutionId, window: &'a QueryWindow, ) -> BoxFuture<'a, Result<Vec<FlowDecision>, ExplorerError>>
Reads flow decisions of one job execution in sequence order.
Sourcefn step_partitions<'a>(
&'a self,
step_execution_id: StepExecutionId,
window: &'a QueryWindow,
) -> BoxFuture<'a, Result<Vec<StepPartitionProjection>, ExplorerError>>
fn step_partitions<'a>( &'a self, step_execution_id: StepExecutionId, window: &'a QueryWindow, ) -> BoxFuture<'a, Result<Vec<StepPartitionProjection>, ExplorerError>>
Reads partitions of one partitioned step execution.
Sourcefn operator_requests<'a>(
&'a self,
job_execution_id: JobExecutionId,
window: &'a QueryWindow,
) -> BoxFuture<'a, Result<Vec<OperatorRecord>, ExplorerError>>
fn operator_requests<'a>( &'a self, job_execution_id: JobExecutionId, window: &'a QueryWindow, ) -> BoxFuture<'a, Result<Vec<OperatorRecord>, ExplorerError>>
Reads audited operator requests for one job execution.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".