SendFailure
Reason a packet could not be delivered.
Represents expected radio failures (no route, timeout) and transport issues. Not thrown as an exception — observed via MessageHandle.state.
Since
0.1.0
Inheritors
Types
Per-send ACK timeout: the device did not produce a Routing ACK for a unicast want_ack packet within the configured RadioClient.Builder.sendTimeout window.
MessageHandle.cancel was called before the packet left the host queue.
Transport disconnected before the packet could be sent.
Device's duty-cycle limit prevented transmission (from Routing.Error.DUTY_CYCLE_LIMIT).
The handshake failed (timeout or terminal error) before the packet could be dispatched.
Caller submitted a packet whose id matches an in-flight send that has not yet reached a terminal state. The new send is rejected; the existing in-flight handle is preserved.
Device exhausted its retransmit budget (from Routing.Error.MAX_RETRANSMIT).
No route to the destination (from Routing.Error.NO_ROUTE).
Some other device-reported routing error.
Admin operation timed out waiting for a response.
Unknown failure (should not occur in normal operation).
Functions
Plain-language message for any SendFailure. Never empty.