liverust_lib/netio/
bytes_errors.rs

1use std::io;
2use tokio::time::Elapsed;
3use super::netio_errors::{NetIOError,NetIOErrorValue};
4
5pub enum BytesReadErrorValue {
6    NotEnoughBytes,
7    EmptyStream,
8    IO(io::Error),
9    TimeoutError(Elapsed),
10}
11pub struct BytesReadError {
12    pub value: BytesReadErrorValue,
13}
14
15impl From<BytesReadErrorValue> for BytesReadError {
16    fn from(val: BytesReadErrorValue) -> Self {
17        BytesReadError { value: val }
18    }
19}
20
21impl From<io::Error> for BytesReadError {
22    fn from(error: io::Error) -> Self {
23        BytesReadError {
24            value: BytesReadErrorValue::IO(error),
25        }
26    }
27}
28
29impl From<Elapsed> for BytesReadError {
30    fn from(error: Elapsed) -> Self {
31        BytesReadError {
32            value: BytesReadErrorValue::TimeoutError(error),
33        }
34    }
35}
36
37pub struct BytesWriteError {
38    pub value: BytesWriteErrorValue,
39}
40
41pub enum BytesWriteErrorValue {
42    IO(io::Error),
43    NetIOError(NetIOError),
44}
45
46impl From<io::Error> for BytesWriteError {
47    fn from(error: io::Error) -> Self {
48        BytesWriteError {
49            value: BytesWriteErrorValue::IO(error),
50        }
51    }
52}
53
54impl From<NetIOError> for BytesWriteError {
55    fn from(error: NetIOError) -> Self {
56        BytesWriteError {
57            value: BytesWriteErrorValue::NetIOError(error),
58        }
59    }
60}
61