robot_description_builder/
yank_errors.rs1use std::sync::PoisonError;
4
5use thiserror::Error;
6
7use crate::{
8 utils::{ArcLock, ErroredRead, ErroredWrite},
9 Joint, Link,
10};
11
12#[derive(Debug, Error)]
14pub enum RebuildBranchError {
15 #[error(transparent)]
16 ReadChildJoint(#[from] PoisonError<ErroredRead<ArcLock<Joint>>>),
17 #[error(transparent)]
18 ReadChildLink(#[from] PoisonError<ErroredRead<ArcLock<Link>>>),
19}
20
21#[derive(Debug, Error)]
24pub enum YankLinkError {
25 #[error(transparent)]
26 RebuildBranch(#[from] RebuildBranchError),
27 #[error(transparent)]
30 ReadParentJoint(#[from] PoisonError<ErroredRead<ArcLock<Joint>>>),
31 #[error(transparent)]
34 WriteGrandParentLink(#[from] PoisonError<ErroredWrite<ArcLock<Link>>>),
35}
36
37#[derive(Debug, Error)]
39pub enum YankJointError {
40 #[error(transparent)]
41 RebuildBranch(#[from] RebuildBranchError),
42 #[error(transparent)]
43 WriteParentLink(#[from] PoisonError<ErroredWrite<ArcLock<Link>>>),
44 #[error(transparent)]
45 ReadYankedJoint(#[from] PoisonError<ErroredRead<ArcLock<Joint>>>),
46}