rosrust/rosxmlrpc/
mod.rs
1pub use self::client::Client;
2use self::response_info::ResponseInfo;
3pub use self::server::Server;
4
5pub mod client;
6pub mod error;
7mod response_info;
8pub mod server;
9
10pub type Response<T> = Result<T, ResponseError>;
11
12#[derive(Clone, Debug)]
13pub enum ResponseError {
14 Client(String),
15 Server(String),
16}
17
18impl std::fmt::Display for ResponseError {
19 fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {
20 match *self {
21 ResponseError::Client(ref v) => write!(f, "Client error: {}", v),
22 ResponseError::Server(ref v) => write!(f, "Server error: {}", v),
23 }
24 }
25}
26
27impl std::error::Error for ResponseError {
28 fn description(&self) -> &str {
29 match *self {
30 ResponseError::Client(ref v) | ResponseError::Server(ref v) => v,
31 }
32 }
33
34 fn cause(&self) -> Option<&dyn std::error::Error> {
35 None
36 }
37}
38
39const ERROR_CODE: i32 = -1;
40const FAILURE_CODE: i32 = 0;
41const SUCCESS_CODE: i32 = 1;