1 use liverust_lib::netio::bytes_errors::{BytesReadError,BytesWriteError}; 2 pub enum UnpackErrorValue { 3 BytesReadError(BytesReadError), 4 UnknowReadState, 5 //IO(io::Error), 6 } 7 8 pub struct UnpackError { 9 pub value: UnpackErrorValue, 10 } 11 12 impl From<UnpackErrorValue> for UnpackError { 13 fn from(val: UnpackErrorValue) -> Self { 14 UnpackError { value: val } 15 } 16 } 17 18 impl From<BytesReadError> for UnpackError { 19 fn from(error: BytesReadError) -> Self { 20 UnpackError { 21 value: UnpackErrorValue::BytesReadError(error), 22 } 23 } 24 } 25 26 pub enum PackErrorValue { 27 NotExistHeader, 28 UnknowReadState, 29 // IO(io::Error), 30 BytesWriteError(BytesWriteError), 31 } 32 33 pub struct PackError { 34 pub value: PackErrorValue, 35 } 36 37 impl From<PackErrorValue> for PackError { 38 fn from(val: PackErrorValue) -> Self { 39 PackError { value: val } 40 } 41 } 42 43 impl From<BytesWriteError> for PackError { 44 fn from(error: BytesWriteError) -> Self { 45 PackError { 46 value: PackErrorValue::BytesWriteError(error), 47 } 48 } 49 } 50