pub trait TaskService: Send + Sync {
Show 15 methods
// Required methods
fn open_session<'a>(
&'a self,
scope: &'a Scope,
queue: &'a str,
concurrency: u32,
) -> ContractFuture<'a, WorkerSession>;
fn extend_session<'a>(
&'a self,
worker_session_id: &'a str,
) -> ContractFuture<'a, WorkerSession>;
fn submit<'a>(
&'a self,
command: &'a SubmitCommand,
) -> ContractFuture<'a, TaskSnapshot>;
fn list_tasks<'a>(
&'a self,
scope: &'a Scope,
query: &'a TaskListQuery,
) -> ContractFuture<'a, TaskPage>;
fn status<'a>(
&'a self,
scope: &'a Scope,
task_id: &'a str,
) -> ContractFuture<'a, TaskStatus>;
fn result<'a>(
&'a self,
scope: &'a Scope,
task_id: &'a str,
) -> ContractFuture<'a, TaskResult>;
fn inspect<'a>(
&'a self,
scope: &'a Scope,
task_id: &'a str,
) -> ContractFuture<'a, TaskSnapshot>;
fn inspect_attempt<'a>(
&'a self,
scope: &'a Scope,
task_id: &'a str,
attempt_id: &'a str,
) -> ContractFuture<'a, AttemptSnapshot>;
fn history<'a>(
&'a self,
scope: &'a Scope,
task_id: &'a str,
after_sequence: u64,
) -> ContractFuture<'a, Vec<RecordedHistoryEvent>>;
fn acquire<'a>(
&'a self,
command: &'a AcquireCommand,
options: AcquireOptions,
) -> ContractFuture<'a, AcquireReply>;
fn renew<'a>(
&'a self,
command: &'a RenewCommand,
) -> ContractFuture<'a, Authority>;
fn settle<'a>(
&'a self,
command: &'a SettleCommand,
) -> ContractFuture<'a, SettleReply>;
fn confirm_quiescence<'a>(
&'a self,
owner: &'a LeaseOwner,
) -> ContractFuture<'a, TaskState>;
fn cancel<'a>(
&'a self,
scope: &'a Scope,
task_id: &'a str,
) -> ContractFuture<'a, TaskState>;
// Provided method
fn claim_dispatch<'a>(
&'a self,
_command: &'a ClaimCommand,
) -> ContractFuture<'a, ClaimReply> { ... }
}Expand description
Service boundary implemented by future transport adapters. A successful mutation reply is permitted only after durable transactional acceptance.
Required Methods§
fn open_session<'a>( &'a self, scope: &'a Scope, queue: &'a str, concurrency: u32, ) -> ContractFuture<'a, WorkerSession>
fn extend_session<'a>( &'a self, worker_session_id: &'a str, ) -> ContractFuture<'a, WorkerSession>
fn submit<'a>( &'a self, command: &'a SubmitCommand, ) -> ContractFuture<'a, TaskSnapshot>
Sourcefn list_tasks<'a>(
&'a self,
scope: &'a Scope,
query: &'a TaskListQuery,
) -> ContractFuture<'a, TaskPage>
fn list_tasks<'a>( &'a self, scope: &'a Scope, query: &'a TaskListQuery, ) -> ContractFuture<'a, TaskPage>
Read one bounded page of matching committed task statuses in descending submission-time/task-ID order. Each page has its own read snapshot.
Sourcefn status<'a>(
&'a self,
scope: &'a Scope,
task_id: &'a str,
) -> ContractFuture<'a, TaskStatus>
fn status<'a>( &'a self, scope: &'a Scope, task_id: &'a str, ) -> ContractFuture<'a, TaskStatus>
Read compact scheduling metadata without application payloads.
Sourcefn result<'a>(
&'a self,
scope: &'a Scope,
task_id: &'a str,
) -> ContractFuture<'a, TaskResult>
fn result<'a>( &'a self, scope: &'a Scope, task_id: &'a str, ) -> ContractFuture<'a, TaskResult>
Read task metadata and its logical outcome from one consistent snapshot.
fn inspect<'a>( &'a self, scope: &'a Scope, task_id: &'a str, ) -> ContractFuture<'a, TaskSnapshot>
fn inspect_attempt<'a>( &'a self, scope: &'a Scope, task_id: &'a str, attempt_id: &'a str, ) -> ContractFuture<'a, AttemptSnapshot>
Sourcefn history<'a>(
&'a self,
scope: &'a Scope,
task_id: &'a str,
after_sequence: u64,
) -> ContractFuture<'a, Vec<RecordedHistoryEvent>>
fn history<'a>( &'a self, scope: &'a Scope, task_id: &'a str, after_sequence: u64, ) -> ContractFuture<'a, Vec<RecordedHistoryEvent>>
Return at most 100 ordered records after the supplied sequence. Large application outcomes are fetched through result or inspect_attempt, not history.
fn acquire<'a>( &'a self, command: &'a AcquireCommand, options: AcquireOptions, ) -> ContractFuture<'a, AcquireReply>
fn renew<'a>( &'a self, command: &'a RenewCommand, ) -> ContractFuture<'a, Authority>
fn settle<'a>( &'a self, command: &'a SettleCommand, ) -> ContractFuture<'a, SettleReply>
fn confirm_quiescence<'a>( &'a self, owner: &'a LeaseOwner, ) -> ContractFuture<'a, TaskState>
fn cancel<'a>( &'a self, scope: &'a Scope, task_id: &'a str, ) -> ContractFuture<'a, TaskState>
Provided Methods§
Sourcefn claim_dispatch<'a>(
&'a self,
_command: &'a ClaimCommand,
) -> ContractFuture<'a, ClaimReply>
fn claim_dispatch<'a>( &'a self, _command: &'a ClaimCommand, ) -> ContractFuture<'a, ClaimReply>
Claim one exact external dispatch. Successful replies follow durable acceptance and bind the complete command. Unsupported implementations reject explicitly; they must never fall back to an unrestricted queue scan.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".