]> code.octet-stream.net Git - m17rt/blob - m17app/src/error.rs
Correctly call all adapter lifecycle methods, docs and test
[m17rt] / m17app / src / error.rs
1 use std::path::PathBuf;
2
3 use thiserror::Error;
4
5 #[derive(Debug, Error, PartialEq, Eq, Clone)]
6 pub enum M17Error {
7 #[error("given callsign contains at least one character invalid in M17: {0}")]
8 InvalidCallsignCharacters(char),
9
10 #[error("given callsign is {0} characters long; maximum is 9")]
11 CallsignTooLong(usize),
12
13 #[error("error during soundcard initialisation")]
14 SoundcardInit,
15
16 #[error("unable to locate sound card '{0}' - is it in use?")]
17 SoundcardNotFound(String),
18
19 #[error("unable to set up RTL-SDR receiver")]
20 RtlSdrInit,
21
22 #[error(
23 "provided packet payload is too large: provided {provided} bytes, capacity {capacity}"
24 )]
25 PacketTooLarge { provided: usize, capacity: usize },
26
27 #[error("provided path to RRC file could not be opened: {0}")]
28 InvalidRrcPath(PathBuf),
29
30 #[error("failed to read from RRC file: {0}")]
31 RrcReadFailed(PathBuf),
32 }