pub struct WeftHandshake {
pub node_id: String,
pub governance_genesis_hash: [u8; 32],
pub governance_version: String,
pub capabilities: u32,
pub kem_supported: bool,
pub chain_seq: u64,
pub supported_sync_streams: Vec<u8>,
}Expand description
WeftOS mesh handshake payload (sent inside Noise XX step 3).
Both sides exchange this after the encrypted channel is established to verify governance compatibility and negotiate capabilities.
Fields§
§node_id: StringNode identity (hex-encoded public key hash).
governance_genesis_hash: [u8; 32]Governance genesis hash for cluster trust root.
governance_version: StringGovernance engine version string.
capabilities: u32Bitmap of supported capabilities.
kem_supported: boolWhether this node supports post-quantum KEM.
chain_seq: u64Chain head sequence number.
supported_sync_streams: Vec<u8>Supported sync stream types (FrameType discriminants).
Trait Implementations§
Source§impl Clone for WeftHandshake
impl Clone for WeftHandshake
Source§impl Debug for WeftHandshake
impl Debug for WeftHandshake
Source§impl<'de> Deserialize<'de> for WeftHandshake
impl<'de> Deserialize<'de> for WeftHandshake
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 WeftHandshake
impl RefUnwindSafe for WeftHandshake
impl Send for WeftHandshake
impl Sync for WeftHandshake
impl Unpin for WeftHandshake
impl UnsafeUnpin for WeftHandshake
impl UnwindSafe for WeftHandshake
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
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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