Skip to main content

Supports

Struct Supports 

Source
#[non_exhaustive]
pub struct Supports {
Show 24 fields pub cancel_execution: bool, pub change_priority: bool, pub replay_execution: bool, pub revoke_lease: bool, pub read_execution_state: bool, pub read_execution_info: bool, pub get_execution_result: bool, pub budget_admin: bool, pub quota_admin: bool, pub rotate_waitpoint_hmac_secret_all: bool, pub seed_waitpoint_hmac_secret: bool, pub list_pending_waitpoints: bool, pub cancel_flow_header: bool, pub cancel_flow_wait_timeout: bool, pub cancel_flow_wait_indefinite: bool, pub ack_cancel_member: bool, pub claim_for_worker: bool, pub prepare: bool, pub subscribe_lease_history: bool, pub subscribe_completion: bool, pub subscribe_signal_delivery: bool, pub subscribe_instance_tags: bool, pub stream_durable_summary: bool, pub stream_best_effort_live: bool,
}
Expand description

Per-capability boolean support surface. Flat named-field shape so consumers can dot-access (e.g. caps.supports.cancel_execution) instead of map lookup. #[non_exhaustive] protects future additions from source-breaking consumers; construct via Supports::none or by returning one from crate::engine_backend::EngineBackend::capabilities.

§Grouping policy

One bool per operator-visible HTTP surface; admin-only surfaces with many sibling methods roll up to a single bool (e.g. Self::budget_admin covers create_budget / report_usage / reset_budget / get_budget_status / report_usage_admin; Self::quota_admin covers create_quota_policy). Cairn’s operator UI grey-renders at the group level; fine-grained pre-dispatch checks still use crate::engine_error::EngineError::Unavailable.

§Field order

Per cairn #277 “in the same order as the parity matrix so cairn can consume by copy-paste.” Keep in sync with docs/POSTGRES_PARITY_MATRIX.md.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§cancel_execution: bool

cancel_execution.

§change_priority: bool

change_priority.

§replay_execution: bool

replay_execution.

§revoke_lease: bool

revoke_lease.

§read_execution_state: bool

read_execution_state.

§read_execution_info: bool

read_execution_info.

§get_execution_result: bool

get_execution_result.

§budget_admin: bool

Covers create_budget + report_usage + reset_budget + get_budget_status + report_usage_admin.

§quota_admin: bool

Covers create_quota_policy.

§rotate_waitpoint_hmac_secret_all: bool

rotate_waitpoint_hmac_secret_all.

§seed_waitpoint_hmac_secret: bool

seed_waitpoint_hmac_secret (#280).

§list_pending_waitpoints: bool

list_pending_waitpoints.

§cancel_flow_header: bool

cancel_flow_header.

§cancel_flow_wait_timeout: bool

cancel_flow with CancelFlowWait::WaitTimeout(..).

§cancel_flow_wait_indefinite: bool

cancel_flow with CancelFlowWait::WaitIndefinite.

§ack_cancel_member: bool

ack_cancel_member.

§claim_for_worker: bool

claim_for_worker (requires a wired scheduler on Valkey; Postgres-native on Postgres).

§prepare: bool

prepare does non-trivial work (e.g. Valkey FUNCTION LOAD). Postgres reports falseprepare returns NoOp there.

§subscribe_lease_history: bool

subscribe_lease_history.

§subscribe_completion: bool

subscribe_completion. On Valkey this is pubsub-backed (non-durable cursor, at-most-once over the live subscription window); Postgres is durable via outbox + cursor. Both report true; see the trait method rustdoc for the non-durable-cursor caveat and docs/POSTGRES_PARITY_MATRIX.md for the per-backend semantic.

§subscribe_signal_delivery: bool

subscribe_signal_delivery.

§subscribe_instance_tags: bool

subscribe_instance_tags. Deferred per #311 (cairn’s instance_tag_backfill pattern is served by list_executions + ScannerFilter::with_instance_tag(..)); reported false on both backends today.

§stream_durable_summary: bool

read_summary + durable-summary frames.

§stream_best_effort_live: bool

tail_stream (best-effort live tail).

Implementations§

Source§

impl Supports

Source

pub const fn none() -> Self

Construct a Supports with every field false. Useful as a starting point when assembling a backend-specific capability snapshot. Consumers should never see this directly — capabilities() on a real backend always returns a populated instance.

Trait Implementations§

Source§

impl Clone for Supports

Source§

fn clone(&self) -> Supports

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Supports

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Supports

Source§

fn default() -> Supports

Returns the “default value” for a type. Read more
Source§

impl PartialEq for Supports

Source§

fn eq(&self, other: &Supports) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Supports

Source§

impl Eq for Supports

Source§

impl StructuralPartialEq for Supports

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.