pub struct ProbeHello {
pub nonce: Vec<u8>,
}Expand description
Beacon identity handshake (#631).
Anything can bind a TCP port, so a successful connect to the beacon proves nothing. Before a client treats a listener as the probe daemon it sends this hello and requires the daemon to echo the nonce and return a fixed magic. A decoy that doesn’t speak the framed protocol fails the exchange, and the client classifies it as a stranger rather than mis-registering with it.
Fields§
§nonce: Vec<u8>Fresh per attempt. Echoed back so a replayed or canned reply captured from an earlier exchange doesn’t satisfy a later one.
Trait Implementations§
Source§impl Clone for ProbeHello
impl Clone for ProbeHello
Source§fn clone(&self) -> ProbeHello
fn clone(&self) -> ProbeHello
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ProbeHello
impl Debug for ProbeHello
Source§impl Default for ProbeHello
impl Default for ProbeHello
impl Eq for ProbeHello
Source§impl Hash for ProbeHello
impl Hash for ProbeHello
Source§impl Message for ProbeHello
impl Message for ProbeHello
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message to a buffer. Read more
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message to a newly allocated buffer.
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message with a length-delimiter to a buffer. Read more
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message with a length-delimiter to a newly allocated buffer.
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes an instance of the message from a buffer. Read more
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes a length-delimited instance of the message from the buffer.
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes an instance of the message from a buffer, and merges it into
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes a length-delimited instance of the message from buffer, and
merges it into
self.Source§impl PartialEq for ProbeHello
impl PartialEq for ProbeHello
impl StructuralPartialEq for ProbeHello
Auto Trait Implementations§
impl Freeze for ProbeHello
impl RefUnwindSafe for ProbeHello
impl Send for ProbeHello
impl Sync for ProbeHello
impl Unpin for ProbeHello
impl UnsafeUnpin for ProbeHello
impl UnwindSafe for ProbeHello
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