pub struct SyncedEntryAck {
pub key: Did,
pub entry: Entry,
}Expand description
Durable-storage acknowledgement for an entry hand-off delta.
key is the placement key updated by the receiver. entry is the copied
delta that the receiver joined into its local least upper bound. The sender
compares the storage-normalized ack value with its current local value
before deleting; if the sender has observed any newer durable delta
meanwhile, deletion is skipped.
Fields§
§key: DidThe placement key durably persisted by the sync receiver.
entry: EntryThe exact value durably persisted by the sync receiver.
Implementations§
Source§impl SyncedEntryAck
impl SyncedEntryAck
Sourcepub fn new(key: Did, entry: Entry) -> SyncedEntryAck
pub fn new(key: Did, entry: Entry) -> SyncedEntryAck
Witness that entry was durably joined at key.
Sourcepub fn confirms_local_value(&self, local: &Entry) -> Result<bool, Error>
pub fn confirms_local_value(&self, local: &Entry) -> Result<bool, Error>
Returns whether this ack proves that local equals the copied value.
Post: comparison is performed on storage canonical forms, so legacy entries without dots compare equal to the normalized value durably persisted by the receiver.
Trait Implementations§
Source§impl Clone for SyncedEntryAck
impl Clone for SyncedEntryAck
Source§fn clone(&self) -> SyncedEntryAck
fn clone(&self) -> SyncedEntryAck
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SyncedEntryAck
impl Debug for SyncedEntryAck
Source§impl<'de> Deserialize<'de> for SyncedEntryAck
impl<'de> Deserialize<'de> for SyncedEntryAck
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SyncedEntryAck, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SyncedEntryAck, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for SyncedEntryAck
Source§impl PartialEq for SyncedEntryAck
impl PartialEq for SyncedEntryAck
Source§impl Serialize for SyncedEntryAck
impl Serialize for SyncedEntryAck
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for SyncedEntryAck
Auto Trait Implementations§
impl Freeze for SyncedEntryAck
impl RefUnwindSafe for SyncedEntryAck
impl Send for SyncedEntryAck
impl Sync for SyncedEntryAck
impl Unpin for SyncedEntryAck
impl UnsafeUnpin for SyncedEntryAck
impl UnwindSafe for SyncedEntryAck
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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> ⓘ
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> ⓘ
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
impl<T> MaybeSend for T
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.