Skip to main content

moq_ffi/
error.rs

1/// Error returned by all UniFFI-exported functions.
2#[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}