pub struct VcEmulationBinding { /* private fields */ }Available on crate feature
extensions-draft and crate feature virtual-clients-draft and (32-bit or 64-bit) only.Expand description
The binding of one epoch of a higher-level group to the derivation epoch
whose virtual-client LeafNode was active at that epoch, stored as its own
row keyed by (group_id, group_epoch).
Bindings are kept per group epoch because a delayed PrivateMessage from a past higher-level epoch has to be deprotected with the derivation epoch that was bound then. A group retains as many bindings as its message secrets store keeps past epochs.
Implementations§
Source§impl VcEmulationBinding
impl VcEmulationBinding
Sourcepub fn from_legacy_record(group_epoch: GroupEpoch, epoch_id: EpochId) -> Self
pub fn from_legacy_record(group_epoch: GroupEpoch, epoch_id: EpochId) -> Self
Build the binding of group_epoch to epoch_id from one entry of a
VcEmulationBindings record.
Trait Implementations§
Source§impl Clone for VcEmulationBinding
impl Clone for VcEmulationBinding
Source§fn clone(&self) -> VcEmulationBinding
fn clone(&self) -> VcEmulationBinding
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 Debug for VcEmulationBinding
impl Debug for VcEmulationBinding
Source§impl<'de> Deserialize<'de> for VcEmulationBinding
impl<'de> Deserialize<'de> for VcEmulationBinding
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Entity<CURRENT_VERSION> for VcEmulationBinding
Source§impl PartialEq for VcEmulationBinding
impl PartialEq for VcEmulationBinding
Source§impl Serialize for VcEmulationBinding
impl Serialize for VcEmulationBinding
impl StructuralPartialEq for VcEmulationBinding
impl VcEmulationBinding<CURRENT_VERSION> for VcEmulationBinding
Auto Trait Implementations§
impl Freeze for VcEmulationBinding
impl RefUnwindSafe for VcEmulationBinding
impl Send for VcEmulationBinding
impl Sync for VcEmulationBinding
impl Unpin for VcEmulationBinding
impl UnsafeUnpin for VcEmulationBinding
impl UnwindSafe for VcEmulationBinding
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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<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