Skip to main content

o_sfu_router/model/
error.rs

1use o_sfu_model::UserId;
2
3use super::{
4    ConnectionId, ConsumerId, MediaWorkerId, ProducerId, RouterId,
5    topology::{RoutedConsumerId, RoutedProducerId},
6};
7
8/// router mutation errors
9#[derive(Debug, Clone, PartialEq, Eq, thiserror::Error)]
10pub enum RouterError {
11    #[error("primary router {actual:?} does not match {expected:?}")]
12    PrimaryRouterMismatch {
13        expected: RouterId,
14        actual: RouterId,
15    },
16    #[error("router {router:?} is assigned to media worker {expected:?}, not {actual:?}")]
17    MediaWorkerMismatch {
18        router: RouterId,
19        expected: MediaWorkerId,
20        actual: MediaWorkerId,
21    },
22    #[error("connection {0:?} is already committed")]
23    DuplicateConnection(ConnectionId),
24    #[error("duplicate producer {0:?}")]
25    DuplicateProducer(ProducerId),
26    #[error("duplicate consumer {0:?}")]
27    DuplicateConsumer(ConsumerId),
28    #[error("missing session for {0:?}")]
29    MissingSession(UserId),
30    #[error("missing router {0:?}")]
31    MissingRouter(RouterId),
32    #[error("missing producer {0:?}")]
33    MissingProducer(RoutedProducerId),
34    #[error("missing consumer {0:?}")]
35    MissingConsumer(RoutedConsumerId),
36}