1#[derive(Debug, PartialEq)]
7pub enum CodecError<RE, WE> {
8 DecodeError(DecodeError<RE>),
10 EncodeError(EncodeError<WE>),
12}
13
14impl<RE, WE> From<DecodeError<RE>> for CodecError<RE, WE> {
15 #[inline]
16 fn from(e: DecodeError<RE>) -> Self {
17 CodecError::DecodeError(e)
18 }
19}
20
21impl<RE, WE> From<DecodeFingerprintError<RE>> for CodecError<RE, WE> {
22 #[inline]
23 fn from(e: DecodeFingerprintError<RE>) -> Self {
24 CodecError::DecodeError(DecodeError::DecodeFingerprintError(e))
25 }
26}
27
28impl<RE, WE> From<DecodeValueError<RE>> for CodecError<RE, WE> {
29 #[inline]
30 fn from(e: DecodeValueError<RE>) -> Self {
31 CodecError::DecodeError(DecodeError::DecodeValueError(e))
32 }
33}
34
35impl<RE, WE> From<EncodeError<WE>> for CodecError<RE, WE> {
36 #[inline]
37 fn from(e: EncodeError<WE>) -> Self {
38 CodecError::EncodeError(e)
39 }
40}
41
42impl<RE, WE> From<EncodeFingerprintError<WE>> for CodecError<RE, WE> {
43 #[inline]
44 fn from(e: EncodeFingerprintError<WE>) -> Self {
45 CodecError::EncodeError(EncodeError::EncodeFingerprintError(e))
46 }
47}
48
49impl<RE, WE> From<EncodeValueError<WE>> for CodecError<RE, WE> {
50 #[inline]
51 fn from(e: EncodeValueError<WE>) -> Self {
52 CodecError::EncodeError(EncodeError::EncodeValueError(e))
53 }
54}
55
56#[derive(Debug, PartialEq)]
58pub enum DecodeError<E> {
59 DecodeFingerprintError(DecodeFingerprintError<E>),
61 DecodeValueError(DecodeValueError<E>),
63}
64
65impl<E> From<DecodeFingerprintError<E>> for DecodeError<E> {
66 #[inline]
67 fn from(e: DecodeFingerprintError<E>) -> Self {
68 DecodeError::DecodeFingerprintError(e)
69 }
70}
71
72impl<E> From<DecodeValueError<E>> for DecodeError<E> {
73 #[inline]
74 fn from(e: DecodeValueError<E>) -> Self {
75 DecodeError::DecodeValueError(e)
76 }
77}
78#[derive(Debug, PartialEq)]
81pub enum DecodeFingerprintError<E> {
82 InvalidFingerprint(u64),
85 ReaderError(E),
87}
88
89impl<E> From<E> for DecodeFingerprintError<E> {
90 #[inline]
91 fn from(e: E) -> Self {
92 DecodeFingerprintError::ReaderError(e)
93 }
94}
95
96#[derive(Debug, PartialEq)]
99pub enum DecodeValueError<E> {
100 ArrayLengthMismatch(&'static str),
103 InvalidValue(&'static str),
106 ReaderError(E),
108}
109
110impl<E> From<E> for DecodeValueError<E> {
111 #[inline]
112 fn from(e: E) -> Self {
113 DecodeValueError::ReaderError(e)
114 }
115}
116
117#[derive(Debug, PartialEq)]
119pub enum EncodeError<E> {
120 EncodeFingerprintError(EncodeFingerprintError<E>),
122 EncodeValueError(EncodeValueError<E>),
124}
125
126impl<E> From<EncodeFingerprintError<E>> for EncodeError<E> {
127 #[inline]
128 fn from(e: EncodeFingerprintError<E>) -> Self {
129 EncodeError::EncodeFingerprintError(e)
130 }
131}
132
133impl<E> From<EncodeValueError<E>> for EncodeError<E> {
134 #[inline]
135 fn from(e: EncodeValueError<E>) -> Self {
136 EncodeError::EncodeValueError(e)
137 }
138}
139
140#[derive(Debug, PartialEq)]
143pub enum EncodeFingerprintError<E> {
144 WriterError(E),
146}
147
148impl<E> From<E> for EncodeFingerprintError<E> {
149 #[inline]
150 fn from(e: E) -> Self {
151 EncodeFingerprintError::WriterError(e)
152 }
153}
154
155#[derive(Debug, PartialEq, Eq)]
158pub enum EncodeValueError<E> {
159 ArrayLengthMismatch(&'static str),
162 InvalidValue(&'static str),
165 WriterError(E),
167}
168
169impl<E> From<E> for EncodeValueError<E> {
170 #[inline]
171 fn from(e: E) -> Self {
172 EncodeValueError::WriterError(e)
173 }
174}