pub struct EncodedData {
pub version: u8,
pub real_count: u16,
pub fragments: Vec<FoundFragment>,
pub signature: Option<Vec<u8>>,
pub expires_at: Option<u64>,
pub next_public_key: Option<Vec<u8>>,
}Expand description
Data structure that gets encrypted and transmitted (v0.4.1+).
Fields§
§version: u8Protocol version.
real_count: u16Number of real fragments in the message (before padding).
fragments: Vec<FoundFragment>Found fragments with positions and space metadata.
signature: Option<Vec<u8>>Ed25519 signature over the hash of the EXACT original message (64 bytes). Present only if the message was signed with –sign. The signature is always case-sensitive because char_overrides guarantee exact message recovery.
expires_at: Option<u64>Unix timestamp when the message expires. If set and current time > expires_at, decoder returns garbage (plausible deniability).
next_public_key: Option<Vec<u8>>Next public key for forward secrecy ratchet. If present, the recipient should use this key for their reply. Only included when the sender is using ephemeral keys.
Trait Implementations§
Source§impl Clone for EncodedData
impl Clone for EncodedData
Source§fn clone(&self) -> EncodedData
fn clone(&self) -> EncodedData
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EncodedData
impl Debug for EncodedData
Source§impl<'de> Deserialize<'de> for EncodedData
impl<'de> Deserialize<'de> for EncodedData
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
Auto Trait Implementations§
impl Freeze for EncodedData
impl RefUnwindSafe for EncodedData
impl Send for EncodedData
impl Sync for EncodedData
impl Unpin for EncodedData
impl UnwindSafe for EncodedData
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)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