pub struct SyncOpRelay { /* private fields */ }Expand description
A reference op relay/store — append-only, dedup by frame content, cursor = position. The responder side of the protocol. A dumb pipe: it stores and serves opaque frames and trusts nothing. Cloning yields another handle onto the same store (so a node can both serve and be queried).
Implementations§
Source§impl SyncOpRelay
impl SyncOpRelay
pub fn new() -> Self
Sourcepub fn publish(&self, op_frames: &[Vec<u8>]) -> u64
pub fn publish(&self, op_frames: &[Vec<u8>]) -> u64
Add frames, skipping any already present (dedup by content). Returns the number newly added.
Sourcepub fn pull_since(&self, cursor: u64) -> (Vec<Vec<u8>>, u64)
pub fn pull_since(&self, cursor: u64) -> (Vec<Vec<u8>>, u64)
The frames after cursor (in store order) plus the next cursor. Re-pulling is safe.
pub fn is_empty(&self) -> bool
Sourcepub fn handle(&self, req: SyncOpRequest) -> SyncOpResponse
pub fn handle(&self, req: SyncOpRequest) -> SyncOpResponse
Serve one request against the store — the responder’s request→response handler.
Trait Implementations§
Source§impl Clone for SyncOpRelay
impl Clone for SyncOpRelay
Source§fn clone(&self) -> SyncOpRelay
fn clone(&self) -> SyncOpRelay
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 moreSource§impl Default for SyncOpRelay
impl Default for SyncOpRelay
Source§fn default() -> SyncOpRelay
fn default() -> SyncOpRelay
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for SyncOpRelay
impl RefUnwindSafe for SyncOpRelay
impl Send for SyncOpRelay
impl Sync for SyncOpRelay
impl Unpin for SyncOpRelay
impl UnsafeUnpin for SyncOpRelay
impl UnwindSafe for SyncOpRelay
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
Aggregate shares in an MPC protocol.
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
The none-equivalent value.