twisty 0.3.1

Example WebSocket Echo client implemented with twist
//! twisty errors
use std::fmt;

/// The set of errors that can be generated by `twists`
pub enum TwistyErr {
    /// Thown if the given address cannot be parsed.
    AddrParse(::std::net::AddrParseError),
    /// Thown if any IO error occurs.
    Io(::std::io::Error),
    /// Thrown if PFX_PWD is not set propertly.
    Var(::std::env::VarError),
}

impl fmt::Display for TwistyErr {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        match *self {
            TwistyErr::AddrParse(ref e) => write!(f, "{}", e),
            TwistyErr::Io(ref e) => write!(f, "{}", e),
            TwistyErr::Var(ref e) => write!(f, "{}", e),
        }
    }
}

impl From<::std::env::VarError> for TwistyErr {
    fn from(err: ::std::env::VarError) -> TwistyErr {
        TwistyErr::Var(err)
    }
}

impl From<::std::io::Error> for TwistyErr {
    fn from(err: ::std::io::Error) -> TwistyErr {
        TwistyErr::Io(err)
    }
}

impl From<::std::net::AddrParseError> for TwistyErr {
    fn from(err: ::std::net::AddrParseError) -> TwistyErr {
        TwistyErr::AddrParse(err)
    }
}