pub enum IrohPathKind {
DirectQuic,
DirectLan,
Relay,
Ble,
WebRtc,
Moq,
Unknown,
}Expand description
The current path kind of an iroh connection, used to gate transport upgrades.
Priority order for native data sending is edge-aware:
proven WebRTC/MoQ routes stay first; DirectQuic / DirectLan / Ble
remain primary base paths; relay or unknown paths can probe optional
upgrades first.
WebRTC and MoQ upgrades are started when the path is Relay and suspended
(but not torn down) when it transitions back to DirectQuic.
Variants§
DirectQuic
Direct UDP/QUIC hole-punched path — low latency, no intermediary.
DirectLan
Direct QUIC over a private/link-local LAN address.
Relay
Traffic routed through an iroh relay server — higher latency, rate-limited for web.
Ble
Selected path uses a BLE custom transport.
WebRtc
Selected path carries Iroh packets through an unreliable WebRTC DataChannel.
Moq
Selected path carries Iroh packets through a FIFO MoQ object track.
Unknown
No live connection or path information is not yet available.
Implementations§
Source§impl IrohPathKind
impl IrohPathKind
pub fn is_relay_path(self) -> bool
pub fn transport_label(self) -> &'static str
Trait Implementations§
Source§impl Clone for IrohPathKind
impl Clone for IrohPathKind
impl Copy for IrohPathKind
Source§impl Debug for IrohPathKind
impl Debug for IrohPathKind
impl Eq for IrohPathKind
Source§impl Hash for IrohPathKind
impl Hash for IrohPathKind
Source§impl PartialEq for IrohPathKind
impl PartialEq for IrohPathKind
impl StructuralPartialEq for IrohPathKind
Auto Trait Implementations§
impl Freeze for IrohPathKind
impl RefUnwindSafe for IrohPathKind
impl Send for IrohPathKind
impl Sync for IrohPathKind
impl Unpin for IrohPathKind
impl UnsafeUnpin for IrohPathKind
impl UnwindSafe for IrohPathKind
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.