pub enum WireMessage {
Plain(RoomMessage),
Signed(SignedRoomMessage),
}Expand description
What actually gets serialized onto a per-room gossipsub topic. New
in v0.3.0 — previously, the raw RoomMessage JSON went on the wire.
All outgoing messages now flow through this envelope so the receiver
can tell signed from unsigned at the outer layer without trial-
parsing. Tagged so future variants don’t silently misparse.
Variants§
Plain(RoomMessage)
Unsigned — equivalent to the old wire format. Used for messages
whose authenticity isn’t security-critical: Plain, Typing,
FileChunk, etc. NOTE: MemberAnnounce moved to the signed
envelope in 0.7.11 (see broadcast_member_announce), so its
fingerprint pin can’t be hijacked — and, as of 1.3, so its
ML-KEM key + ciphertext can’t be stripped by a relay to force a
post-quantum downgrade without breaking the signature.
Signed(SignedRoomMessage)
App-level Ed25519-signed envelope.
Trait Implementations§
Source§impl Clone for WireMessage
impl Clone for WireMessage
Source§fn clone(&self) -> WireMessage
fn clone(&self) -> WireMessage
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more