#[repr(u8)]pub enum VirtualClientOperationType {
KeyPackage = 1,
LeafNode = 2,
Application = 3,
}extensions-draft and crate feature virtual-clients-draft and (32-bit or 64-bit) only.Expand description
What virtual-clients operation a per-operation secret is being derived
for (mls-virtual-clients draft VirtualClientOperationType). Mixed into
the OperationContext of every operation-secret derivation so that
secrets derived for different operations cannot collide even if the other
fields happen to match.
The operation type does not travel on the wire. Receivers infer it from
the carrying LeafNode’s leaf_node_source: key_package maps to
KeyPackage, update and commit map to
LeafNode.
Only LeafNode is wired into a sender path today (see apply_vc_emulation
in the commit builder). KeyPackage and Application are reserved
variants that a follow-up PR will emit, once the KeyPackage and
application-message operation paths exist.
Variants§
KeyPackage = 1
Derivation of KeyPackage material for the virtual client.
LeafNode = 2
Derivation of LeafNode material for the virtual client (e.g. the leaf carried by a commit).
Application = 3
Derivation of application-message material for the virtual client.
Trait Implementations§
Source§impl Clone for VirtualClientOperationType
impl Clone for VirtualClientOperationType
Source§fn clone(&self) -> VirtualClientOperationType
fn clone(&self) -> VirtualClientOperationType
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for VirtualClientOperationType
Source§impl Debug for VirtualClientOperationType
impl Debug for VirtualClientOperationType
Source§impl DeserializeBytes for VirtualClientOperationType
impl DeserializeBytes for VirtualClientOperationType
impl Eq for VirtualClientOperationType
Source§impl PartialEq for VirtualClientOperationType
impl PartialEq for VirtualClientOperationType
Source§fn eq(&self, other: &VirtualClientOperationType) -> bool
fn eq(&self, other: &VirtualClientOperationType) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for VirtualClientOperationType
impl Serialize for VirtualClientOperationType
Source§impl Serialize for &VirtualClientOperationType
impl Serialize for &VirtualClientOperationType
Source§impl Size for VirtualClientOperationType
impl Size for VirtualClientOperationType
fn tls_serialized_len(&self) -> usize
Source§impl Size for &VirtualClientOperationType
impl Size for &VirtualClientOperationType
fn tls_serialized_len(&self) -> usize
impl StructuralPartialEq for VirtualClientOperationType
Auto Trait Implementations§
impl Freeze for VirtualClientOperationType
impl RefUnwindSafe for VirtualClientOperationType
impl Send for VirtualClientOperationType
impl Sync for VirtualClientOperationType
impl Unpin for VirtualClientOperationType
impl UnsafeUnpin for VirtualClientOperationType
impl UnwindSafe for VirtualClientOperationType
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
§impl<T> Classify for T
impl<T> Classify for T
type Classified = T
fn classify(self) -> T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> T
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