pub struct BackendCapabilities {
pub parallel_steps: bool,
pub cross_process: bool,
pub max_payload: usize,
}Expand description
The capabilities a backend advertises so callers can adapt their journaling strategy.
The replay cursor and the durable-step primitive read these flags to decide, for example, whether parallel steps may journal concurrently or must be serialized into reserved-id order.
§Examples
use zeph_durable::BackendCapabilities;
// The local backend journals parallel steps concurrently and stays in-process.
let caps = BackendCapabilities {
parallel_steps: true,
cross_process: false,
max_payload: 1_048_576,
};
assert!(caps.parallel_steps);Fields§
§parallel_steps: boolWhether the backend may record parallel steps concurrently. false (e.g. Restate) requires
the durable wrapper to serialize recording into reserved-StepId order.
cross_process: boolWhether the journal lives on a database shared across processes. Drives the INV-8 encryption gate and row-level HMAC requirement.
max_payload: usizeThe maximum payload size, in bytes, the backend accepts on append.
Trait Implementations§
Source§impl Clone for BackendCapabilities
impl Clone for BackendCapabilities
Source§fn clone(&self) -> BackendCapabilities
fn clone(&self) -> BackendCapabilities
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for BackendCapabilities
Source§impl Debug for BackendCapabilities
impl Debug for BackendCapabilities
impl Eq for BackendCapabilities
Source§impl PartialEq for BackendCapabilities
impl PartialEq for BackendCapabilities
impl StructuralPartialEq for BackendCapabilities
Auto Trait Implementations§
impl Freeze for BackendCapabilities
impl RefUnwindSafe for BackendCapabilities
impl Send for BackendCapabilities
impl Sync for BackendCapabilities
impl Unpin for BackendCapabilities
impl UnsafeUnpin for BackendCapabilities
impl UnwindSafe for BackendCapabilities
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more