1#[derive(Debug, thiserror::Error, uniffi::Error)]
3#[uniffi(flat_error)]
4#[non_exhaustive]
5pub enum MoqError {
6 #[error(transparent)]
7 Protocol(#[from] moq_net::Error),
8
9 #[error(transparent)]
10 Media(#[from] hang::Error),
11
12 #[error(transparent)]
13 Mux(#[from] moq_mux::Error),
14
15 #[error(transparent)]
16 Audio(#[from] moq_audio::AudioError),
17
18 #[error(transparent)]
19 Url(#[from] url::ParseError),
20
21 #[error(transparent)]
22 TimeOverflow(#[from] moq_net::TimeOverflow),
23
24 #[error(transparent)]
25 LogLevel(#[from] tracing::metadata::ParseLevelError),
26
27 #[error(transparent)]
28 Task(#[from] tokio::task::JoinError),
29
30 #[error("cancelled")]
31 Cancelled,
32
33 #[error("closed")]
34 Closed,
35
36 #[error("connect: {0}")]
37 Connect(String),
38
39 #[error("bind: {0}")]
40 Bind(String),
41
42 #[error("reject: {0}")]
43 Reject(String),
44
45 #[error("already responded")]
46 AlreadyResponded,
47
48 #[error("codec: {0}")]
49 Codec(String),
50
51 #[error("invalid error code: {0}")]
52 InvalidErrorCode(i32),
53
54 #[error("unauthorized")]
55 Unauthorized,
56
57 #[error("forbidden")]
58 Forbidden,
59
60 #[error("log: {0}")]
61 Log(String),
62}