connex 0.1.1

A tcp communication library that supports custom encryption and decryption and automatic reconnection.
Documentation
use snafu::Snafu;

#[derive(Snafu, Debug)]
pub enum KeyExchangeError {
    #[snafu(display("I/O error during key exchange: {}", source))]
    IoError { source: std::io::Error },

    #[snafu(display("Encryption error during key exchange: {}", source))]
    EncryptionError { source: Box<dyn std::error::Error> },

    #[snafu(display("Decryption error during key exchange: {}", source))]
    DecryptionError { source: Box<dyn std::error::Error> },

    #[snafu(display("Protocol error during key exchange: {}", message))]
    ProtocolError { message: String },

    #[snafu(display("Data format error during key exchange: {}", message))]
    DataFormatError { message: String },

    #[snafu(display("Timeout error during key exchange: {}", message))]
    TimeoutError { message: String },

    #[snafu(display("{}", message))]
    UserDefinedError { message: String },
}

pub type KeyExchangeResult<T> = std::result::Result<T, KeyExchangeError>;