pub struct StandingStoreAck {
pub assertion: StoreAckAssertion,
pub activating_commit: Option<StoreBatchCommitRef>,
}Expand description
The acknowledgement a device currently stands behind: what it asserted, and the commit that carried it.
Kept so the next cycle can ask whether that acknowledgement still says everything true, instead of publishing another one to find out.
Fields§
§assertion: StoreAckAssertion§activating_commit: Option<StoreBatchCommitRef>The commit that published it, when it activated one.
An acknowledgement cannot cover the commit that carries it — that commit does not exist until the acknowledgement is signed. So this is the one position in the Store’s history the assertion leaves behind on purpose, and the one advance that is not a reason to acknowledge again. Without it a device acknowledges its own acknowledgement, cycle after cycle, forever.
Implementations§
Source§impl StandingStoreAck
impl StandingStoreAck
Sourcepub fn still_holds(&self, assertion: &StoreAckAssertion) -> bool
pub fn still_holds(&self, assertion: &StoreAckAssertion) -> bool
Whether assertion says exactly what this acknowledgement already said.
Destructured exhaustively for the same reason StoreAckBody::assertion
is: a field added to the assertion has to be compared here, or the
acknowledgement could change without anything noticing.
Trait Implementations§
Source§impl Clone for StandingStoreAck
impl Clone for StandingStoreAck
Source§fn clone(&self) -> StandingStoreAck
fn clone(&self) -> StandingStoreAck
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for StandingStoreAck
impl Debug for StandingStoreAck
Source§impl<'de> Deserialize<'de> for StandingStoreAck
impl<'de> Deserialize<'de> for StandingStoreAck
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for StandingStoreAck
impl PartialEq for StandingStoreAck
Source§impl Serialize for StandingStoreAck
impl Serialize for StandingStoreAck
impl Eq for StandingStoreAck
impl StructuralPartialEq for StandingStoreAck
Auto Trait Implementations§
impl Freeze for StandingStoreAck
impl RefUnwindSafe for StandingStoreAck
impl Send for StandingStoreAck
impl Sync for StandingStoreAck
impl Unpin for StandingStoreAck
impl UnsafeUnpin for StandingStoreAck
impl UnwindSafe for StandingStoreAck
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.