#[derive(thiserror::Error, Debug)]
pub enum Error {
#[error("No connection to ROS backend")]
Disconnected,
#[error("Operation timed out: {0}")]
Timeout(String),
#[error("Serialization error: {0}")]
SerializationError(String),
#[error("Rosbridge server reported an error: {0}")]
ServerError(String),
#[error("IO error: {0}")]
IoError(#[from] std::io::Error),
#[error("Name does not meet ROS requirements: {0}")]
InvalidName(String),
#[error(transparent)]
Unexpected(#[from] anyhow::Error),
}
pub type Result<T> = std::result::Result<T, Error>;
pub type ServiceError = anyhow::Error;
#[derive(:: serde :: Deserialize, :: serde :: Serialize, Debug, Default, Clone, PartialEq)]
pub struct ShapeShifter(Vec<u8>);
impl RosMessageType for ShapeShifter {
const ROS_TYPE_NAME: &'static str = "*";
const MD5SUM: &'static str = "*";
const DEFINITION: &'static str = "";
}
pub mod md5sum;
pub mod traits;
pub use traits::*;
pub mod topic_name;
pub use topic_name::*;