pub struct MobileMeshPeerHeardRecord {
pub peer_address: Option<String>,
pub node_hint: Option<Vec<u8>>,
pub source_authenticated: bool,
}Expand description
Evidence that a peer was on the air, emitted for every accepted frame regardless of what it carried.
A beacon is the case this exists for: it has no payload, so it produces no advertisement, no message, and no ping reply, yet it is the cheapest possible proof that a node is still reachable. Presence is not a claim about content, so nothing here needs to be authenticated to be useful — it says only that a frame naming this sender was accepted.
Fields§
§peer_address: Option<String>Canonical Base58 address of the sender, when the frame named a full
public key or the MAC could resolve one. None for a hint-only
source, which the platform may still resolve against its own peer
list — see node_hint.
node_hint: Option<Vec<u8>>The 3-byte source node hint, when the frame carried one. Hints are ambiguous by design: a platform matching one against saved peers must treat a multi-way match as no match at all.
source_authenticated: boolWhether the MAC authenticated this frame’s sender. A beacon is an
unauthenticated broadcast, so this is usually false; it is reported
so the platform can tell “a frame claiming to be from X” from “a frame
proven to be from X”.
Trait Implementations§
Source§impl Clone for MobileMeshPeerHeardRecord
impl Clone for MobileMeshPeerHeardRecord
Source§fn clone(&self) -> MobileMeshPeerHeardRecord
fn clone(&self) -> MobileMeshPeerHeardRecord
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<UT> ConvertError<UT> for MobileMeshPeerHeardRecord
impl<UT> ConvertError<UT> for MobileMeshPeerHeardRecord
fn try_convert_unexpected_callback_error( e: UnexpectedUniFFICallbackError, ) -> Result<Self>
Source§impl Debug for MobileMeshPeerHeardRecord
impl Debug for MobileMeshPeerHeardRecord
Source§impl<UT> FfiConverter<UT> for MobileMeshPeerHeardRecord
impl<UT> FfiConverter<UT> for MobileMeshPeerHeardRecord
Source§const TYPE_ID_META: MetadataBuffer
const TYPE_ID_META: MetadataBuffer
Source§type FfiType = RustBuffer
type FfiType = RustBuffer
Source§fn lower(v: Self) -> RustBuffer
fn lower(v: Self) -> RustBuffer
Source§fn try_lift(buf: RustBuffer) -> Result<Self>
fn try_lift(buf: RustBuffer) -> Result<Self>
Source§impl<UT> Lift<UT> for MobileMeshPeerHeardRecord
impl<UT> Lift<UT> for MobileMeshPeerHeardRecord
Source§impl<UT> LiftRef<UT> for MobileMeshPeerHeardRecord
impl<UT> LiftRef<UT> for MobileMeshPeerHeardRecord
Source§impl<UT> LiftReturn<UT> for MobileMeshPeerHeardRecord
impl<UT> LiftReturn<UT> for MobileMeshPeerHeardRecord
Source§type ReturnType = <MobileMeshPeerHeardRecord as Lift<UT>>::FfiType
type ReturnType = <MobileMeshPeerHeardRecord as Lift<UT>>::FfiType
Source§fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
Source§fn lift_foreign_return(
ffi_return: Self::ReturnType,
call_status: RustCallStatus,
) -> Self
fn lift_foreign_return( ffi_return: Self::ReturnType, call_status: RustCallStatus, ) -> Self
Source§fn lift_error(_buf: RustBuffer) -> Self
fn lift_error(_buf: RustBuffer) -> Self
Source§fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
Source§impl<UT> Lower<UT> for MobileMeshPeerHeardRecord
impl<UT> Lower<UT> for MobileMeshPeerHeardRecord
type FfiType = <MobileMeshPeerHeardRecord as FfiConverter<UT>>::FfiType
fn lower(obj: Self) -> Self::FfiType
fn write(obj: Self, buf: &mut Vec<u8>)
Source§fn lower_into_rust_buffer(obj: Self) -> RustBuffer
fn lower_into_rust_buffer(obj: Self) -> RustBuffer
Source§impl<UT> LowerError<UT> for MobileMeshPeerHeardRecord
impl<UT> LowerError<UT> for MobileMeshPeerHeardRecord
Source§fn lower_error(obj: Self) -> RustBuffer
fn lower_error(obj: Self) -> RustBuffer
Source§impl<UT> LowerReturn<UT> for MobileMeshPeerHeardRecord
impl<UT> LowerReturn<UT> for MobileMeshPeerHeardRecord
Source§type ReturnType = <MobileMeshPeerHeardRecord as Lower<UT>>::FfiType
type ReturnType = <MobileMeshPeerHeardRecord as Lower<UT>>::FfiType
Source§fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
Source§fn handle_failed_lift(
error: LiftArgsError,
) -> Result<Self::ReturnType, RustCallError>
fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>
Source§impl<UT> TypeId<UT> for MobileMeshPeerHeardRecord
impl<UT> TypeId<UT> for MobileMeshPeerHeardRecord
impl Eq for MobileMeshPeerHeardRecord
impl StructuralPartialEq for MobileMeshPeerHeardRecord
Auto Trait Implementations§
impl Freeze for MobileMeshPeerHeardRecord
impl RefUnwindSafe for MobileMeshPeerHeardRecord
impl Send for MobileMeshPeerHeardRecord
impl Sync for MobileMeshPeerHeardRecord
impl Unpin for MobileMeshPeerHeardRecord
impl UnwindSafe for MobileMeshPeerHeardRecord
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
§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)
clone_to_uninit)Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.