pub enum NetworkError {
Relayed(LorawanError),
NotLora,
Frame(LorawanError),
UnknownDevice,
Replayed {
dev_addr: u32,
fcnt: u32,
},
CounterGap {
dev_addr: u32,
seen: u32,
carried: u32,
},
CounterExhausted {
dev_addr: u32,
},
UnknownDataRate,
NoWindow,
NoSession {
dev_addr: u32,
},
}Expand description
What can go wrong admitting or reading a forwarded packet.
Variants§
Relayed(LorawanError)
A relay forwarded something that is not an uplink it could have heard.
NotLora
The packet was not LoRa, so it carries no LoRaWAN frame here.
Frame(LorawanError)
The frame did not parse, verify, or decrypt.
UnknownDevice
A join request that no registered key verifies.
Replayed
A frame at a counter already seen, which is a replay.
CounterGap
A frame from a LoRaWAN 1.0.3 device MAX_FCNT_GAP or more ahead of the counter
last seen, which LoRaWAN 1.0.3 section 4.3.1.5 does not follow.
Fields
CounterExhausted
A frame whose counter would run past 32 bits, which a session cannot carry: the device has to join again.
UnknownDataRate
The plan names no data rate for the settings the packet arrived at, so the rate the first window answers at cannot be worked out.
NoWindow
No first receive window exists for the packet: its frequency is not a channel the plan defines, or the plan names no downlink rate at that offset.
NoSession
A downlink for an address this network holds no session for.
Trait Implementations§
Source§impl Clone for NetworkError
impl Clone for NetworkError
Source§fn clone(&self) -> NetworkError
fn clone(&self) -> NetworkError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for NetworkError
impl Debug for NetworkError
Source§impl Display for NetworkError
impl Display for NetworkError
impl Eq for NetworkError
Source§impl Error for NetworkError
impl Error for NetworkError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()