pub struct VirtualClientCommitData { /* private fields */ }extensions-draft and crate feature virtual-clients-draft and (32-bit or 64-bit) only.Expand description
What a virtual client tells its siblings about a commit it authored.
Implementations§
Source§impl VirtualClientCommitData
impl VirtualClientCommitData
Sourcepub fn new(
epoch_usage: Option<VcEpochUsage>,
actions: Vec<VirtualClientAction>,
) -> Result<Self, VcCommitDataError>
pub fn new( epoch_usage: Option<VcEpochUsage>, actions: Vec<VirtualClientAction>, ) -> Result<Self, VcCommitDataError>
Assemble the commit data.
Pass None for epoch_usage to leave the author’s previous declaration
in place, and Some(VcEpochUsage::empty()) to replace it with the empty
set.
Returns an error if actions holds more than one
VirtualClientAction::NewDerivationEpoch.
Sourcepub fn epoch_usage(&self) -> Option<&VcEpochUsage>
pub fn epoch_usage(&self) -> Option<&VcEpochUsage>
The author’s epoch usage declaration, or None if the commit does not
restate it.
Sourcepub fn actions(&self) -> &[VirtualClientAction]
pub fn actions(&self) -> &[VirtualClientAction]
All actions the commit performs.
Sourcepub fn creates_derivation_epoch(&self) -> bool
pub fn creates_derivation_epoch(&self) -> bool
Returns true if the commit asks for a new derivation epoch.
Sourcepub fn key_package_uploads(&self) -> impl Iterator<Item = &KeyPackageUpload>
pub fn key_package_uploads(&self) -> impl Iterator<Item = &KeyPackageUpload>
The KeyPackage batches the commit publishes, in wire order.
Sourcepub fn to_safe_aad_item(&self) -> Result<SafeAadItem, VcCommitDataError>
pub fn to_safe_aad_item(&self) -> Result<SafeAadItem, VcCommitDataError>
Wrap this commit data in a Safe AAD item tagged with
VC_COMPONENT_ID, ready to be attached to an outgoing commit.
Sourcepub fn from_safe_aad_item_data(data: &[u8]) -> Result<Self, VcCommitDataError>
pub fn from_safe_aad_item_data(data: &[u8]) -> Result<Self, VcCommitDataError>
Parse commit data from the bytes of a Safe AAD item tagged with
VC_COMPONENT_ID. Rejects bytes left over after the struct.
Trait Implementations§
Source§impl Debug for VirtualClientCommitData
impl Debug for VirtualClientCommitData
Source§impl DeserializeBytes for VirtualClientCommitData
impl DeserializeBytes for VirtualClientCommitData
Source§impl PartialEq for VirtualClientCommitData
impl PartialEq for VirtualClientCommitData
Source§impl Serialize for VirtualClientCommitData
impl Serialize for VirtualClientCommitData
Source§impl Serialize for &VirtualClientCommitData
impl Serialize for &VirtualClientCommitData
Source§impl Size for VirtualClientCommitData
impl Size for VirtualClientCommitData
fn tls_serialized_len(&self) -> usize
Source§impl Size for &VirtualClientCommitData
impl Size for &VirtualClientCommitData
fn tls_serialized_len(&self) -> usize
impl StructuralPartialEq for VirtualClientCommitData
Auto Trait Implementations§
impl Freeze for VirtualClientCommitData
impl RefUnwindSafe for VirtualClientCommitData
impl Send for VirtualClientCommitData
impl Sync for VirtualClientCommitData
impl Unpin for VirtualClientCommitData
impl UnsafeUnpin for VirtualClientCommitData
impl UnwindSafe for VirtualClientCommitData
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 more