liverust_lib 0.1.23

a network io library.
Documentation
use std::io;
use tokio::time::Elapsed;
use super::netio_errors::{NetIOError,NetIOErrorValue};

pub enum BytesReadErrorValue {
    NotEnoughBytes,
    EmptyStream,
    IO(io::Error),
    TimeoutError(Elapsed),
}
pub struct BytesReadError {
    pub value: BytesReadErrorValue,
}

impl From<BytesReadErrorValue> for BytesReadError {
    fn from(val: BytesReadErrorValue) -> Self {
        BytesReadError { value: val }
    }
}

impl From<io::Error> for BytesReadError {
    fn from(error: io::Error) -> Self {
        BytesReadError {
            value: BytesReadErrorValue::IO(error),
        }
    }
}

impl From<Elapsed> for BytesReadError {
    fn from(error: Elapsed) -> Self {
        BytesReadError {
            value: BytesReadErrorValue::TimeoutError(error),
        }
    }
}

pub struct BytesWriteError {
    pub value: BytesWriteErrorValue,
}

pub enum BytesWriteErrorValue {
    IO(io::Error),
    NetIOError(NetIOError),
}

impl From<io::Error> for BytesWriteError {
    fn from(error: io::Error) -> Self {
        BytesWriteError {
            value: BytesWriteErrorValue::IO(error),
        }
    }
}

impl From<NetIOError> for BytesWriteError {
    fn from(error: NetIOError) -> Self {
        BytesWriteError {
            value: BytesWriteErrorValue::NetIOError(error),
        }
    }
}