pub struct TransportLink {
pub transport_id: String,
pub transport_type: String,
pub interface: Option<String>,
pub quality: TransportLinkQuality,
pub rtt_ms: Option<u32>,
pub rssi_dbm: Option<i8>,
pub path_kind: Option<TransportPathKind>,
}Expand description
One transport’s link state for a peer (FFI mirror of
peat_mesh::transport::LinkState).
Fields§
§transport_id: StringIdentifies the registered transport instance, e.g. "ble-hci0",
"iroh-wlan0". Per ADR-032 §Amendment A, peat-ffi overlays this
from the TransportManager-registered id at synthesis time.
transport_type: StringTransport family, lowercase string for cross-language
portability ("ble" / "iroh" / "lora" / "satellite" / …).
interface: Option<String>Physical interface name where applicable (eth0, wlan0,
p2p-wlan0). None for transports that don’t expose a NIC
concept (e.g. BLE, LoRa).
quality: TransportLinkQualityBucketed quality. Each transport defines its own thresholds.
rtt_ms: Option<u32>Round-trip-time estimate in milliseconds, where the transport can measure or estimate it.
rssi_dbm: Option<i8>Received signal strength in dBm, populated by transports that
expose it (BLE, LoRa, tactical radio). None for IP transports.
path_kind: Option<TransportPathKind>Path classification for IP-style transports with a relay
concept (iroh’s PathInfo::is_relay()). None where the
concept doesn’t apply (BLE).
Trait Implementations§
Source§impl Clone for TransportLink
impl Clone for TransportLink
Source§fn clone(&self) -> TransportLink
fn clone(&self) -> TransportLink
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<UT> ConvertError<UT> for TransportLink
impl<UT> ConvertError<UT> for TransportLink
fn try_convert_unexpected_callback_error( e: UnexpectedUniFFICallbackError, ) -> Result<Self>
Source§impl Debug for TransportLink
impl Debug for TransportLink
Source§impl<UT> FfiConverter<UT> for TransportLink
impl<UT> FfiConverter<UT> for TransportLink
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 From<LinkState> for TransportLink
Available on crate feature sync only.
impl From<LinkState> for TransportLink
sync only.Source§impl<UT> Lift<UT> for TransportLink
impl<UT> Lift<UT> for TransportLink
Source§impl<UT> LiftRef<UT> for TransportLink
impl<UT> LiftRef<UT> for TransportLink
type LiftType = TransportLink
Source§impl<UT> LiftReturn<UT> for TransportLink
impl<UT> LiftReturn<UT> for TransportLink
Source§type ReturnType = <TransportLink as Lift<UT>>::FfiType
type ReturnType = <TransportLink 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 TransportLink
impl<UT> Lower<UT> for TransportLink
type FfiType = <TransportLink 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 TransportLink
impl<UT> LowerError<UT> for TransportLink
Source§fn lower_error(obj: Self) -> RustBuffer
fn lower_error(obj: Self) -> RustBuffer
Source§impl<UT> LowerReturn<UT> for TransportLink
impl<UT> LowerReturn<UT> for TransportLink
Source§type ReturnType = <TransportLink as Lower<UT>>::FfiType
type ReturnType = <TransportLink 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 TransportLink
impl<UT> TypeId<UT> for TransportLink
Auto Trait Implementations§
impl Freeze for TransportLink
impl RefUnwindSafe for TransportLink
impl Send for TransportLink
impl Sync for TransportLink
impl Unpin for TransportLink
impl UnsafeUnpin for TransportLink
impl UnwindSafe for TransportLink
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
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>
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>
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