bucky_raw_codec/
error.rs

1use std::error::Error;
2use std::{alloc, fmt};
3use std::fmt::{Debug, Display};
4use std::io::ErrorKind;
5use bucky_error::{BuckyError, BuckyErrorCode, BuckyOriginError, BuckyResult};
6use crate::{RawDecode, RawEncode, RawEncodePurpose, RawFixedBytes, USize};
7
8pub type CodecErrorCode = BuckyErrorCode;
9pub type CodecError = BuckyError;
10pub type CodecResult<T> = BuckyResult<T>;
11
12impl RawEncode for BuckyErrorCode {
13    fn raw_measure(&self, __purpose__: &Option<RawEncodePurpose>) -> CodecResult<usize> {
14        match self {
15            BuckyErrorCode::Ok => Ok(USize(0usize).raw_measure(__purpose__)?),
16            BuckyErrorCode::Failed => Ok(USize(1usize).raw_measure(__purpose__)?),
17            BuckyErrorCode::InvalidParam => {
18                Ok(USize(2usize).raw_measure(__purpose__)?)
19            }
20            BuckyErrorCode::Timeout => Ok(USize(3usize).raw_measure(__purpose__)?),
21            BuckyErrorCode::NotFound => {
22                Ok(USize(4usize).raw_measure(__purpose__)?)
23            }
24            BuckyErrorCode::AlreadyExists => {
25                Ok(USize(5usize).raw_measure(__purpose__)?)
26            }
27            BuckyErrorCode::NotSupport => {
28                Ok(USize(6usize).raw_measure(__purpose__)?)
29            }
30            BuckyErrorCode::ErrorState => {
31                Ok(USize(7usize).raw_measure(__purpose__)?)
32            }
33            BuckyErrorCode::InvalidFormat => {
34                Ok(USize(8usize).raw_measure(__purpose__)?)
35            }
36            BuckyErrorCode::Expired => Ok(USize(9usize).raw_measure(__purpose__)?),
37            BuckyErrorCode::OutOfLimit => {
38                Ok(USize(10usize).raw_measure(__purpose__)?)
39            }
40            BuckyErrorCode::InternalError => {
41                Ok(USize(11usize).raw_measure(__purpose__)?)
42            }
43            BuckyErrorCode::PermissionDenied => {
44                Ok(USize(12usize).raw_measure(__purpose__)?)
45            }
46            BuckyErrorCode::ConnectionRefused => {
47                Ok(USize(13usize).raw_measure(__purpose__)?)
48            }
49            BuckyErrorCode::ConnectionReset => {
50                Ok(USize(14usize).raw_measure(__purpose__)?)
51            }
52            BuckyErrorCode::ConnectionAborted => {
53                Ok(USize(15usize).raw_measure(__purpose__)?)
54            }
55            BuckyErrorCode::NotConnected => {
56                Ok(USize(16usize).raw_measure(__purpose__)?)
57            }
58            BuckyErrorCode::AddrInUse => {
59                Ok(USize(17usize).raw_measure(__purpose__)?)
60            }
61            BuckyErrorCode::AddrNotAvailable => {
62                Ok(USize(18usize).raw_measure(__purpose__)?)
63            }
64            BuckyErrorCode::Interrupted => {
65                Ok(USize(19usize).raw_measure(__purpose__)?)
66            }
67            BuckyErrorCode::InvalidInput => {
68                Ok(USize(20usize).raw_measure(__purpose__)?)
69            }
70            BuckyErrorCode::InvalidData => {
71                Ok(USize(21usize).raw_measure(__purpose__)?)
72            }
73            BuckyErrorCode::WriteZero => {
74                Ok(USize(22usize).raw_measure(__purpose__)?)
75            }
76            BuckyErrorCode::UnexpectedEof => {
77                Ok(USize(23usize).raw_measure(__purpose__)?)
78            }
79            BuckyErrorCode::BrokenPipe => {
80                Ok(USize(24usize).raw_measure(__purpose__)?)
81            }
82            BuckyErrorCode::WouldBlock => {
83                Ok(USize(25usize).raw_measure(__purpose__)?)
84            }
85            BuckyErrorCode::UnSupport => {
86                Ok(USize(26usize).raw_measure(__purpose__)?)
87            }
88            BuckyErrorCode::Unmatch => {
89                Ok(USize(27usize).raw_measure(__purpose__)?)
90            }
91            BuckyErrorCode::ExecuteError => {
92                Ok(USize(28usize).raw_measure(__purpose__)?)
93            }
94            BuckyErrorCode::Reject => Ok(USize(29usize).raw_measure(__purpose__)?),
95            BuckyErrorCode::Ignored => {
96                Ok(USize(30usize).raw_measure(__purpose__)?)
97            }
98            BuckyErrorCode::InvalidSignature => {
99                Ok(USize(31usize).raw_measure(__purpose__)?)
100            }
101            BuckyErrorCode::AlreadyExistsAndSignatureMerged => {
102                Ok(USize(32usize).raw_measure(__purpose__)?)
103            }
104            BuckyErrorCode::TargetNotFound => {
105                Ok(USize(33usize).raw_measure(__purpose__)?)
106            }
107            BuckyErrorCode::Aborted => {
108                Ok(USize(34usize).raw_measure(__purpose__)?)
109            }
110            BuckyErrorCode::ConnectFailed => {
111                Ok(USize(35usize).raw_measure(__purpose__)?)
112            }
113            BuckyErrorCode::ConnectInterZoneFailed => {
114                Ok(USize(36usize).raw_measure(__purpose__)?)
115            }
116            BuckyErrorCode::InnerPathNotFound => {
117                Ok(USize(37usize).raw_measure(__purpose__)?)
118            }
119            BuckyErrorCode::RangeNotSatisfiable => {
120                Ok(USize(38usize).raw_measure(__purpose__)?)
121            }
122            BuckyErrorCode::UserCanceled => {
123                Ok(USize(39usize).raw_measure(__purpose__)?)
124            }
125            BuckyErrorCode::Conflict => {
126                Ok(USize(40usize).raw_measure(__purpose__)?)
127            }
128            BuckyErrorCode::OutofSessionLimit => {
129                Ok(USize(41usize).raw_measure(__purpose__)?)
130            }
131            BuckyErrorCode::Redirect => {
132                Ok(USize(42usize).raw_measure(__purpose__)?)
133            }
134            BuckyErrorCode::MongoDBError => {
135                Ok(USize(43usize).raw_measure(__purpose__)?)
136            }
137            BuckyErrorCode::SqliteError => {
138                Ok(USize(44usize).raw_measure(__purpose__)?)
139            }
140            BuckyErrorCode::UrlError => {
141                Ok(USize(45usize).raw_measure(__purpose__)?)
142            }
143            BuckyErrorCode::ZipError => {
144                Ok(USize(46usize).raw_measure(__purpose__)?)
145            }
146            BuckyErrorCode::HttpError => {
147                Ok(USize(47usize).raw_measure(__purpose__)?)
148            }
149            BuckyErrorCode::JsonError => {
150                Ok(USize(48usize).raw_measure(__purpose__)?)
151            }
152            BuckyErrorCode::HexError => {
153                Ok(USize(49usize).raw_measure(__purpose__)?)
154            }
155            BuckyErrorCode::RsaError => {
156                Ok(USize(50usize).raw_measure(__purpose__)?)
157            }
158            BuckyErrorCode::CryptoError => {
159                Ok(USize(51usize).raw_measure(__purpose__)?)
160            }
161            BuckyErrorCode::MpscSendError => {
162                Ok(USize(52usize).raw_measure(__purpose__)?)
163            }
164            BuckyErrorCode::MpscRecvError => {
165                Ok(USize(53usize).raw_measure(__purpose__)?)
166            }
167            BuckyErrorCode::IoError => {
168                Ok(USize(54usize).raw_measure(__purpose__)?)
169            }
170            BuckyErrorCode::NetworkError => {
171                Ok(USize(55usize).raw_measure(__purpose__)?)
172            }
173            BuckyErrorCode::CodeError => {
174                Ok(USize(56usize).raw_measure(__purpose__)?)
175            }
176            BuckyErrorCode::UnknownBdtError => {
177                Ok(USize(57usize).raw_measure(__purpose__)?)
178            }
179            BuckyErrorCode::UnknownIOError => {
180                Ok(USize(58usize).raw_measure(__purpose__)?)
181            }
182            BuckyErrorCode::Unknown => {
183                Ok(USize(59usize).raw_measure(__purpose__)?)
184            }
185            BuckyErrorCode::Pending => {
186                Ok(USize(60usize).raw_measure(__purpose__)?)
187            }
188            BuckyErrorCode::NotChange => {
189                Ok(USize(61usize).raw_measure(__purpose__)?)
190            }
191            BuckyErrorCode::NotMatch => {
192                Ok(USize(62usize).raw_measure(__purpose__)?)
193            }
194            BuckyErrorCode::NotImplement => {
195                Ok(USize(63usize).raw_measure(__purpose__)?)
196            }
197            BuckyErrorCode::NotInit => {
198                Ok(USize(64usize).raw_measure(__purpose__)?)
199            }
200            BuckyErrorCode::ParseError => {
201                Ok(USize(65usize).raw_measure(__purpose__)?)
202            }
203            BuckyErrorCode::NotHandled => {
204                Ok(USize(66usize).raw_measure(__purpose__)?)
205            }
206            BuckyErrorCode::InvalidTarget => {
207                Ok(USize(67usize).raw_measure(__purpose__)?)
208            }
209            BuckyErrorCode::ErrorTimestamp => {
210                Ok(USize(68usize).raw_measure(__purpose__)?)
211            }
212            BuckyErrorCode::DecNotRunning => {
213                Ok(USize(69usize).raw_measure(__purpose__)?)
214            }
215            BuckyErrorCode::MetaError(ref __field0) => Ok(USize(70usize)
216                .raw_measure(__purpose__)?
217                + 0
218                + __field0.raw_measure(__purpose__)?),
219            BuckyErrorCode::DecError(ref __field0) => Ok(USize(71usize)
220                .raw_measure(__purpose__)?
221                + 0
222                + __field0.raw_measure(__purpose__)?),
223        }
224    }
225    fn raw_encode<'__de__>(
226        &self,
227        __buf__: &'__de__ mut [u8],
228        __purpose__: &Option<RawEncodePurpose>,
229    ) -> CodecResult<&'__de__ mut [u8]> {
230        match self {
231            BuckyErrorCode::Ok => {
232                let __buf__ = USize(0usize).raw_encode(__buf__, __purpose__)?;
233                Ok(__buf__)
234            }
235            BuckyErrorCode::Failed => {
236                let __buf__ = USize(1usize).raw_encode(__buf__, __purpose__)?;
237                Ok(__buf__)
238            }
239            BuckyErrorCode::InvalidParam => {
240                let __buf__ = USize(2usize).raw_encode(__buf__, __purpose__)?;
241                Ok(__buf__)
242            }
243            BuckyErrorCode::Timeout => {
244                let __buf__ = USize(3usize).raw_encode(__buf__, __purpose__)?;
245                Ok(__buf__)
246            }
247            BuckyErrorCode::NotFound => {
248                let __buf__ = USize(4usize).raw_encode(__buf__, __purpose__)?;
249                Ok(__buf__)
250            }
251            BuckyErrorCode::AlreadyExists => {
252                let __buf__ = USize(5usize).raw_encode(__buf__, __purpose__)?;
253                Ok(__buf__)
254            }
255            BuckyErrorCode::NotSupport => {
256                let __buf__ = USize(6usize).raw_encode(__buf__, __purpose__)?;
257                Ok(__buf__)
258            }
259            BuckyErrorCode::ErrorState => {
260                let __buf__ = USize(7usize).raw_encode(__buf__, __purpose__)?;
261                Ok(__buf__)
262            }
263            BuckyErrorCode::InvalidFormat => {
264                let __buf__ = USize(8usize).raw_encode(__buf__, __purpose__)?;
265                Ok(__buf__)
266            }
267            BuckyErrorCode::Expired => {
268                let __buf__ = USize(9usize).raw_encode(__buf__, __purpose__)?;
269                Ok(__buf__)
270            }
271            BuckyErrorCode::OutOfLimit => {
272                let __buf__ = USize(10usize).raw_encode(__buf__, __purpose__)?;
273                Ok(__buf__)
274            }
275            BuckyErrorCode::InternalError => {
276                let __buf__ = USize(11usize).raw_encode(__buf__, __purpose__)?;
277                Ok(__buf__)
278            }
279            BuckyErrorCode::PermissionDenied => {
280                let __buf__ = USize(12usize).raw_encode(__buf__, __purpose__)?;
281                Ok(__buf__)
282            }
283            BuckyErrorCode::ConnectionRefused => {
284                let __buf__ = USize(13usize).raw_encode(__buf__, __purpose__)?;
285                Ok(__buf__)
286            }
287            BuckyErrorCode::ConnectionReset => {
288                let __buf__ = USize(14usize).raw_encode(__buf__, __purpose__)?;
289                Ok(__buf__)
290            }
291            BuckyErrorCode::ConnectionAborted => {
292                let __buf__ = USize(15usize).raw_encode(__buf__, __purpose__)?;
293                Ok(__buf__)
294            }
295            BuckyErrorCode::NotConnected => {
296                let __buf__ = USize(16usize).raw_encode(__buf__, __purpose__)?;
297                Ok(__buf__)
298            }
299            BuckyErrorCode::AddrInUse => {
300                let __buf__ = USize(17usize).raw_encode(__buf__, __purpose__)?;
301                Ok(__buf__)
302            }
303            BuckyErrorCode::AddrNotAvailable => {
304                let __buf__ = USize(18usize).raw_encode(__buf__, __purpose__)?;
305                Ok(__buf__)
306            }
307            BuckyErrorCode::Interrupted => {
308                let __buf__ = USize(19usize).raw_encode(__buf__, __purpose__)?;
309                Ok(__buf__)
310            }
311            BuckyErrorCode::InvalidInput => {
312                let __buf__ = USize(20usize).raw_encode(__buf__, __purpose__)?;
313                Ok(__buf__)
314            }
315            BuckyErrorCode::InvalidData => {
316                let __buf__ = USize(21usize).raw_encode(__buf__, __purpose__)?;
317                Ok(__buf__)
318            }
319            BuckyErrorCode::WriteZero => {
320                let __buf__ = USize(22usize).raw_encode(__buf__, __purpose__)?;
321                Ok(__buf__)
322            }
323            BuckyErrorCode::UnexpectedEof => {
324                let __buf__ = USize(23usize).raw_encode(__buf__, __purpose__)?;
325                Ok(__buf__)
326            }
327            BuckyErrorCode::BrokenPipe => {
328                let __buf__ = USize(24usize).raw_encode(__buf__, __purpose__)?;
329                Ok(__buf__)
330            }
331            BuckyErrorCode::WouldBlock => {
332                let __buf__ = USize(25usize).raw_encode(__buf__, __purpose__)?;
333                Ok(__buf__)
334            }
335            BuckyErrorCode::UnSupport => {
336                let __buf__ = USize(26usize).raw_encode(__buf__, __purpose__)?;
337                Ok(__buf__)
338            }
339            BuckyErrorCode::Unmatch => {
340                let __buf__ = USize(27usize).raw_encode(__buf__, __purpose__)?;
341                Ok(__buf__)
342            }
343            BuckyErrorCode::ExecuteError => {
344                let __buf__ = USize(28usize).raw_encode(__buf__, __purpose__)?;
345                Ok(__buf__)
346            }
347            BuckyErrorCode::Reject => {
348                let __buf__ = USize(29usize).raw_encode(__buf__, __purpose__)?;
349                Ok(__buf__)
350            }
351            BuckyErrorCode::Ignored => {
352                let __buf__ = USize(30usize).raw_encode(__buf__, __purpose__)?;
353                Ok(__buf__)
354            }
355            BuckyErrorCode::InvalidSignature => {
356                let __buf__ = USize(31usize).raw_encode(__buf__, __purpose__)?;
357                Ok(__buf__)
358            }
359            BuckyErrorCode::AlreadyExistsAndSignatureMerged => {
360                let __buf__ = USize(32usize).raw_encode(__buf__, __purpose__)?;
361                Ok(__buf__)
362            }
363            BuckyErrorCode::TargetNotFound => {
364                let __buf__ = USize(33usize).raw_encode(__buf__, __purpose__)?;
365                Ok(__buf__)
366            }
367            BuckyErrorCode::Aborted => {
368                let __buf__ = USize(34usize).raw_encode(__buf__, __purpose__)?;
369                Ok(__buf__)
370            }
371            BuckyErrorCode::ConnectFailed => {
372                let __buf__ = USize(35usize).raw_encode(__buf__, __purpose__)?;
373                Ok(__buf__)
374            }
375            BuckyErrorCode::ConnectInterZoneFailed => {
376                let __buf__ = USize(36usize).raw_encode(__buf__, __purpose__)?;
377                Ok(__buf__)
378            }
379            BuckyErrorCode::InnerPathNotFound => {
380                let __buf__ = USize(37usize).raw_encode(__buf__, __purpose__)?;
381                Ok(__buf__)
382            }
383            BuckyErrorCode::RangeNotSatisfiable => {
384                let __buf__ = USize(38usize).raw_encode(__buf__, __purpose__)?;
385                Ok(__buf__)
386            }
387            BuckyErrorCode::UserCanceled => {
388                let __buf__ = USize(39usize).raw_encode(__buf__, __purpose__)?;
389                Ok(__buf__)
390            }
391            BuckyErrorCode::Conflict => {
392                let __buf__ = USize(40usize).raw_encode(__buf__, __purpose__)?;
393                Ok(__buf__)
394            }
395            BuckyErrorCode::OutofSessionLimit => {
396                let __buf__ = USize(41usize).raw_encode(__buf__, __purpose__)?;
397                Ok(__buf__)
398            }
399            BuckyErrorCode::Redirect => {
400                let __buf__ = USize(42usize).raw_encode(__buf__, __purpose__)?;
401                Ok(__buf__)
402            }
403            BuckyErrorCode::MongoDBError => {
404                let __buf__ = USize(43usize).raw_encode(__buf__, __purpose__)?;
405                Ok(__buf__)
406            }
407            BuckyErrorCode::SqliteError => {
408                let __buf__ = USize(44usize).raw_encode(__buf__, __purpose__)?;
409                Ok(__buf__)
410            }
411            BuckyErrorCode::UrlError => {
412                let __buf__ = USize(45usize).raw_encode(__buf__, __purpose__)?;
413                Ok(__buf__)
414            }
415            BuckyErrorCode::ZipError => {
416                let __buf__ = USize(46usize).raw_encode(__buf__, __purpose__)?;
417                Ok(__buf__)
418            }
419            BuckyErrorCode::HttpError => {
420                let __buf__ = USize(47usize).raw_encode(__buf__, __purpose__)?;
421                Ok(__buf__)
422            }
423            BuckyErrorCode::JsonError => {
424                let __buf__ = USize(48usize).raw_encode(__buf__, __purpose__)?;
425                Ok(__buf__)
426            }
427            BuckyErrorCode::HexError => {
428                let __buf__ = USize(49usize).raw_encode(__buf__, __purpose__)?;
429                Ok(__buf__)
430            }
431            BuckyErrorCode::RsaError => {
432                let __buf__ = USize(50usize).raw_encode(__buf__, __purpose__)?;
433                Ok(__buf__)
434            }
435            BuckyErrorCode::CryptoError => {
436                let __buf__ = USize(51usize).raw_encode(__buf__, __purpose__)?;
437                Ok(__buf__)
438            }
439            BuckyErrorCode::MpscSendError => {
440                let __buf__ = USize(52usize).raw_encode(__buf__, __purpose__)?;
441                Ok(__buf__)
442            }
443            BuckyErrorCode::MpscRecvError => {
444                let __buf__ = USize(53usize).raw_encode(__buf__, __purpose__)?;
445                Ok(__buf__)
446            }
447            BuckyErrorCode::IoError => {
448                let __buf__ = USize(54usize).raw_encode(__buf__, __purpose__)?;
449                Ok(__buf__)
450            }
451            BuckyErrorCode::NetworkError => {
452                let __buf__ = USize(55usize).raw_encode(__buf__, __purpose__)?;
453                Ok(__buf__)
454            }
455            BuckyErrorCode::CodeError => {
456                let __buf__ = USize(56usize).raw_encode(__buf__, __purpose__)?;
457                Ok(__buf__)
458            }
459            BuckyErrorCode::UnknownBdtError => {
460                let __buf__ = USize(57usize).raw_encode(__buf__, __purpose__)?;
461                Ok(__buf__)
462            }
463            BuckyErrorCode::UnknownIOError => {
464                let __buf__ = USize(58usize).raw_encode(__buf__, __purpose__)?;
465                Ok(__buf__)
466            }
467            BuckyErrorCode::Unknown => {
468                let __buf__ = USize(59usize).raw_encode(__buf__, __purpose__)?;
469                Ok(__buf__)
470            }
471            BuckyErrorCode::Pending => {
472                let __buf__ = USize(60usize).raw_encode(__buf__, __purpose__)?;
473                Ok(__buf__)
474            }
475            BuckyErrorCode::NotChange => {
476                let __buf__ = USize(61usize).raw_encode(__buf__, __purpose__)?;
477                Ok(__buf__)
478            }
479            BuckyErrorCode::NotMatch => {
480                let __buf__ = USize(62usize).raw_encode(__buf__, __purpose__)?;
481                Ok(__buf__)
482            }
483            BuckyErrorCode::NotImplement => {
484                let __buf__ = USize(63usize).raw_encode(__buf__, __purpose__)?;
485                Ok(__buf__)
486            }
487            BuckyErrorCode::NotInit => {
488                let __buf__ = USize(64usize).raw_encode(__buf__, __purpose__)?;
489                Ok(__buf__)
490            }
491            BuckyErrorCode::ParseError => {
492                let __buf__ = USize(65usize).raw_encode(__buf__, __purpose__)?;
493                Ok(__buf__)
494            }
495            BuckyErrorCode::NotHandled => {
496                let __buf__ = USize(66usize).raw_encode(__buf__, __purpose__)?;
497                Ok(__buf__)
498            }
499            BuckyErrorCode::InvalidTarget => {
500                let __buf__ = USize(67usize).raw_encode(__buf__, __purpose__)?;
501                Ok(__buf__)
502            }
503            BuckyErrorCode::ErrorTimestamp => {
504                let __buf__ = USize(68usize).raw_encode(__buf__, __purpose__)?;
505                Ok(__buf__)
506            }
507            BuckyErrorCode::DecNotRunning => {
508                let __buf__ = USize(69usize).raw_encode(__buf__, __purpose__)?;
509                Ok(__buf__)
510            }
511            BuckyErrorCode::MetaError(ref __field0) => {
512                let __buf__ = USize(70usize).raw_encode(__buf__, __purpose__)?;
513                let __buf__ = __field0.raw_encode(__buf__, __purpose__)?;
514                Ok(__buf__)
515            }
516            BuckyErrorCode::DecError(ref __field0) => {
517                let __buf__ = USize(71usize).raw_encode(__buf__, __purpose__)?;
518                let __buf__ = __field0.raw_encode(__buf__, __purpose__)?;
519                Ok(__buf__)
520            }
521        }
522    }
523}
524#[automatically_derived]
525#[allow(non_snake_case)]
526fn BuckyErrorCode_call<'a, T: RawDecode<'a>>(__buf__: &'a [u8]) -> CodecResult<(T, &'a [u8])> {
527    T::raw_decode(__buf__)
528}
529#[automatically_derived]
530#[allow(non_snake_case)]
531impl<'__de__> RawDecode<'__de__> for BuckyErrorCode {
532    fn raw_decode(__buf__: &'__de__ [u8]) -> CodecResult<(Self, &'__de__ [u8])> {
533        {
534            let (element_type, __buf__) = USize::raw_decode(__buf__)?;
535            match element_type.value() {
536                0usize => Ok((BuckyErrorCode::Ok, __buf__)),
537                1usize => Ok((BuckyErrorCode::Failed, __buf__)),
538                2usize => Ok((BuckyErrorCode::InvalidParam, __buf__)),
539                3usize => Ok((BuckyErrorCode::Timeout, __buf__)),
540                4usize => Ok((BuckyErrorCode::NotFound, __buf__)),
541                5usize => Ok((BuckyErrorCode::AlreadyExists, __buf__)),
542                6usize => Ok((BuckyErrorCode::NotSupport, __buf__)),
543                7usize => Ok((BuckyErrorCode::ErrorState, __buf__)),
544                8usize => Ok((BuckyErrorCode::InvalidFormat, __buf__)),
545                9usize => Ok((BuckyErrorCode::Expired, __buf__)),
546                10usize => Ok((BuckyErrorCode::OutOfLimit, __buf__)),
547                11usize => Ok((BuckyErrorCode::InternalError, __buf__)),
548                12usize => Ok((BuckyErrorCode::PermissionDenied, __buf__)),
549                13usize => Ok((BuckyErrorCode::ConnectionRefused, __buf__)),
550                14usize => Ok((BuckyErrorCode::ConnectionReset, __buf__)),
551                15usize => Ok((BuckyErrorCode::ConnectionAborted, __buf__)),
552                16usize => Ok((BuckyErrorCode::NotConnected, __buf__)),
553                17usize => Ok((BuckyErrorCode::AddrInUse, __buf__)),
554                18usize => Ok((BuckyErrorCode::AddrNotAvailable, __buf__)),
555                19usize => Ok((BuckyErrorCode::Interrupted, __buf__)),
556                20usize => Ok((BuckyErrorCode::InvalidInput, __buf__)),
557                21usize => Ok((BuckyErrorCode::InvalidData, __buf__)),
558                22usize => Ok((BuckyErrorCode::WriteZero, __buf__)),
559                23usize => Ok((BuckyErrorCode::UnexpectedEof, __buf__)),
560                24usize => Ok((BuckyErrorCode::BrokenPipe, __buf__)),
561                25usize => Ok((BuckyErrorCode::WouldBlock, __buf__)),
562                26usize => Ok((BuckyErrorCode::UnSupport, __buf__)),
563                27usize => Ok((BuckyErrorCode::Unmatch, __buf__)),
564                28usize => Ok((BuckyErrorCode::ExecuteError, __buf__)),
565                29usize => Ok((BuckyErrorCode::Reject, __buf__)),
566                30usize => Ok((BuckyErrorCode::Ignored, __buf__)),
567                31usize => Ok((BuckyErrorCode::InvalidSignature, __buf__)),
568                32usize => Ok((BuckyErrorCode::AlreadyExistsAndSignatureMerged, __buf__)),
569                33usize => Ok((BuckyErrorCode::TargetNotFound, __buf__)),
570                34usize => Ok((BuckyErrorCode::Aborted, __buf__)),
571                35usize => Ok((BuckyErrorCode::ConnectFailed, __buf__)),
572                36usize => Ok((BuckyErrorCode::ConnectInterZoneFailed, __buf__)),
573                37usize => Ok((BuckyErrorCode::InnerPathNotFound, __buf__)),
574                38usize => Ok((BuckyErrorCode::RangeNotSatisfiable, __buf__)),
575                39usize => Ok((BuckyErrorCode::UserCanceled, __buf__)),
576                40usize => Ok((BuckyErrorCode::Conflict, __buf__)),
577                41usize => Ok((BuckyErrorCode::OutofSessionLimit, __buf__)),
578                42usize => Ok((BuckyErrorCode::Redirect, __buf__)),
579                43usize => Ok((BuckyErrorCode::MongoDBError, __buf__)),
580                44usize => Ok((BuckyErrorCode::SqliteError, __buf__)),
581                45usize => Ok((BuckyErrorCode::UrlError, __buf__)),
582                46usize => Ok((BuckyErrorCode::ZipError, __buf__)),
583                47usize => Ok((BuckyErrorCode::HttpError, __buf__)),
584                48usize => Ok((BuckyErrorCode::JsonError, __buf__)),
585                49usize => Ok((BuckyErrorCode::HexError, __buf__)),
586                50usize => Ok((BuckyErrorCode::RsaError, __buf__)),
587                51usize => Ok((BuckyErrorCode::CryptoError, __buf__)),
588                52usize => Ok((BuckyErrorCode::MpscSendError, __buf__)),
589                53usize => Ok((BuckyErrorCode::MpscRecvError, __buf__)),
590                54usize => Ok((BuckyErrorCode::IoError, __buf__)),
591                55usize => Ok((BuckyErrorCode::NetworkError, __buf__)),
592                56usize => Ok((BuckyErrorCode::CodeError, __buf__)),
593                57usize => Ok((BuckyErrorCode::UnknownBdtError, __buf__)),
594                58usize => Ok((BuckyErrorCode::UnknownIOError, __buf__)),
595                59usize => Ok((BuckyErrorCode::Unknown, __buf__)),
596                60usize => Ok((BuckyErrorCode::Pending, __buf__)),
597                61usize => Ok((BuckyErrorCode::NotChange, __buf__)),
598                62usize => Ok((BuckyErrorCode::NotMatch, __buf__)),
599                63usize => Ok((BuckyErrorCode::NotImplement, __buf__)),
600                64usize => Ok((BuckyErrorCode::NotInit, __buf__)),
601                65usize => Ok((BuckyErrorCode::ParseError, __buf__)),
602                66usize => Ok((BuckyErrorCode::NotHandled, __buf__)),
603                67usize => Ok((BuckyErrorCode::InvalidTarget, __buf__)),
604                68usize => Ok((BuckyErrorCode::ErrorTimestamp, __buf__)),
605                69usize => Ok((BuckyErrorCode::DecNotRunning, __buf__)),
606                70usize => {
607                    let (__field0, __buf__): (u16, &[u8]) = BuckyErrorCode_call(__buf__)?;
608                    Ok((BuckyErrorCode::MetaError(__field0), __buf__))
609                }
610                71usize => {
611                    let (__field0, __buf__): (u16, &[u8]) = BuckyErrorCode_call(__buf__)?;
612                    Ok((BuckyErrorCode::DecError(__field0), __buf__))
613                }
614                _ => Err(CodecError::new(CodecErrorCode::NotSupport, format!("file:{} line:{} NotSupport", file!(), line!()))),
615            }
616        }
617    }
618}
619impl RawEncode for BuckyError {
620    fn raw_measure(&self, __purpose__: &Option<RawEncodePurpose>) -> CodecResult<usize> {
621        Ok(0 + self.code().raw_measure(__purpose__)?
622            + self.msg().raw_measure(__purpose__)?
623            + self.origin().raw_measure(__purpose__)?)
624    }
625    fn raw_encode<'__de__>(
626        &self,
627        __buf__: &'__de__ mut [u8],
628        __purpose__: &Option<RawEncodePurpose>,
629    ) -> CodecResult<&'__de__ mut [u8]> {
630        let __buf__ = self.code().raw_encode(__buf__, __purpose__)?;
631        let __buf__ = self.msg().raw_encode(__buf__, __purpose__)?;
632        let __buf__ = self.origin().raw_encode(__buf__, __purpose__)?;
633        Ok(__buf__)
634    }
635}
636#[automatically_derived]
637#[allow(non_snake_case)]
638fn BuckyError_call<'a, T: RawDecode<'a>>(__buf__: &'a [u8]) -> CodecResult<(T, &'a [u8])> {
639    T::raw_decode(__buf__)
640}
641#[automatically_derived]
642#[allow(non_snake_case)]
643impl<'__de__> RawDecode<'__de__> for BuckyError {
644    fn raw_decode(__buf__: &'__de__ [u8]) -> CodecResult<(Self, &'__de__ [u8])> {
645        {
646            let (code, __buf__): (BuckyErrorCode, &[u8]) = BuckyError_call(__buf__)?;
647            let (msg, __buf__): (String, &[u8]) = BuckyError_call(__buf__)?;
648            let (origin, __buf__): (Option<BuckyOriginError>, &[u8]) = BuckyError_call(__buf__)?;
649            Ok((BuckyError::from((code, msg, origin)), __buf__))
650        }
651    }
652}
653
654impl RawEncode for BuckyOriginError {
655    fn raw_measure(&self, purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize> {
656        if cfg!(not(target_arch = "wasm32")) {
657            #[cfg(feature = "zip")]
658            if let BuckyOriginError::ZipError(e) = self {
659                let msg = format!("{:?}", e);
660                return Ok(USize(2).raw_measure(purpose)? + msg.raw_measure(purpose)?);
661            }
662
663            #[cfg(feature = "rusqlite")]
664            if let BuckyOriginError::SqliteError(e) = self {
665                let msg = format!("{:?}", e);
666                return Ok(USize(2).raw_measure(purpose)? + msg.raw_measure(purpose)?);
667            }
668        }
669
670        match self {
671            BuckyOriginError::IoError(e) => {
672                let msg = format!("{:?}", e);
673                Ok(USize(2).raw_measure(purpose)? + msg.raw_measure(purpose)?)
674            }
675            BuckyOriginError::SerdeJsonError(e) => {
676                let msg = format!("{:?}", e);
677                Ok(USize(2).raw_measure(purpose)? + msg.raw_measure(purpose)?)
678            }
679            #[cfg(feature = "http-types")]
680            BuckyOriginError::HttpError(e) => {
681                let msg = format!("{:?}", e);
682                Ok(USize(2).raw_measure(purpose)? + msg.raw_measure(purpose)?)
683            }
684            #[cfg(feature = "url")]
685            BuckyOriginError::UrlError(e) => {
686                let msg = format!("{:?}", e);
687                Ok(USize(2).raw_measure(purpose)? + msg.raw_measure(purpose)?)
688            }
689            #[cfg(feature = "http-types")]
690            BuckyOriginError::HttpStatusCodeError(e) => {
691                let msg = format!("{:?}", e);
692                Ok(USize(2).raw_measure(purpose)? + msg.raw_measure(purpose)?)
693            }
694            #[cfg(feature = "hex")]
695            BuckyOriginError::HexError(e) => {
696                let msg = format!("{:?}", e);
697                Ok(USize(2).raw_measure(purpose)? + msg.raw_measure(purpose)?)
698            }
699            #[cfg(feature = "rsa")]
700            BuckyOriginError::RsaError(e) => {
701                let msg = format!("{:?}", e);
702                Ok(USize(2).raw_measure(purpose)? + msg.raw_measure(purpose)?)
703            }
704            BuckyOriginError::CodeError(e) => {
705                Ok(USize(1).raw_measure(purpose)? + e.raw_measure(purpose)?)
706            }
707            BuckyOriginError::ParseIntError(e) => {
708                let msg = format!("{:?}", e);
709                Ok(USize(2).raw_measure(purpose)? + msg.raw_measure(purpose)?)
710            }
711            BuckyOriginError::ParseFloatError(e) => {
712                let msg = format!("{:?}", e);
713                Ok(USize(2).raw_measure(purpose)? + msg.raw_measure(purpose)?)
714            }
715            BuckyOriginError::AddrParseError(e) => {
716                let msg = format!("{:?}", e);
717                Ok(USize(2).raw_measure(purpose)? + msg.raw_measure(purpose)?)
718            }
719            BuckyOriginError::StripPrefixError(e) => {
720                let msg = format!("{:?}", e);
721                Ok(USize(2).raw_measure(purpose)? + msg.raw_measure(purpose)?)
722            }
723            BuckyOriginError::ParseUtf8Error(e) => {
724                let msg = format!("{:?}", e);
725                Ok(USize(2).raw_measure(purpose)? + msg.raw_measure(purpose)?)
726            }
727            BuckyOriginError::ErrorMsg(msg) => {
728                Ok(USize(2).raw_measure(purpose)? + msg.raw_measure(purpose)?)
729            }
730            #[cfg(feature = "sqlx")]
731            BuckyOriginError::SqlxError(e) => {
732                let msg = format!("{:?}", e);
733                Ok(USize(2).raw_measure(purpose)? + msg.raw_measure(purpose)?)
734            }
735            _ => Ok(USize(3).raw_measure(purpose)?),
736        }
737    }
738
739    fn raw_encode<'a>(
740        &self,
741        buf: &'a mut [u8],
742        purpose: &Option<RawEncodePurpose>,
743    ) -> BuckyResult<&'a mut [u8]> {
744        if cfg!(not(target_arch = "wasm32")) {
745            #[cfg(feature = "zip")]
746            if let BuckyOriginError::ZipError(e) = self {
747                let msg = format!("{:?}", e);
748                let buf = USize(2).raw_encode(buf, purpose)?;
749                let buf = msg.raw_encode(buf, purpose)?;
750                return Ok(buf);
751            }
752
753            #[cfg(feature = "rusqlite")]
754            if let BuckyOriginError::SqliteError(e) = self {
755                let msg = format!("{:?}", e);
756                let buf = USize(2).raw_encode(buf, purpose)?;
757                let buf = msg.raw_encode(buf, purpose)?;
758                return Ok(buf);
759            }
760        }
761
762        match self {
763            BuckyOriginError::IoError(e) => {
764                let msg = format!("{:?}", e);
765                let buf = USize(2).raw_encode(buf, purpose)?;
766                let buf = msg.raw_encode(buf, purpose)?;
767                Ok(buf)
768            }
769            BuckyOriginError::SerdeJsonError(e) => {
770                let msg = format!("{:?}", e);
771                let buf = USize(2).raw_encode(buf, purpose)?;
772                let buf = msg.raw_encode(buf, purpose)?;
773                Ok(buf)
774            }
775            #[cfg(feature = "rsa")]
776            BuckyOriginError::HttpError(e) => {
777                let msg = format!("{:?}", e);
778                let buf = USize(2).raw_encode(buf, purpose)?;
779                let buf = msg.raw_encode(buf, purpose)?;
780                Ok(buf)
781            }
782            #[cfg(feature = "url")]
783            BuckyOriginError::UrlError(e) => {
784                let msg = format!("{:?}", e);
785                let buf = USize(2).raw_encode(buf, purpose)?;
786                let buf = msg.raw_encode(buf, purpose)?;
787                Ok(buf)
788            }
789            #[cfg(feature = "http-types")]
790            BuckyOriginError::HttpStatusCodeError(e) => {
791                let msg = format!("{:?}", e);
792                let buf = USize(2).raw_encode(buf, purpose)?;
793                let buf = msg.raw_encode(buf, purpose)?;
794                Ok(buf)
795            }
796            #[cfg(feature = "hex")]
797            BuckyOriginError::HexError(e) => {
798                let msg = format!("{:?}", e);
799                let buf = USize(2).raw_encode(buf, purpose)?;
800                let buf = msg.raw_encode(buf, purpose)?;
801                Ok(buf)
802            }
803            #[cfg(feature = "rsa")]
804            BuckyOriginError::RsaError(e) => {
805                let msg = format!("{:?}", e);
806                let buf = USize(2).raw_encode(buf, purpose)?;
807                let buf = msg.raw_encode(buf, purpose)?;
808                Ok(buf)
809            }
810            BuckyOriginError::CodeError(e) => {
811                let buf = USize(1).raw_encode(buf, purpose)?;
812                let buf = e.raw_encode(buf, purpose)?;
813                Ok(buf)
814            }
815            BuckyOriginError::ParseIntError(e) => {
816                let msg = format!("{:?}", e);
817                let buf = USize(2).raw_encode(buf, purpose)?;
818                let buf = msg.raw_encode(buf, purpose)?;
819                Ok(buf)
820            }
821            BuckyOriginError::ParseFloatError(e) => {
822                let msg = format!("{:?}", e);
823                let buf = USize(2).raw_encode(buf, purpose)?;
824                let buf = msg.raw_encode(buf, purpose)?;
825                Ok(buf)
826            }
827            BuckyOriginError::AddrParseError(e) => {
828                let msg = format!("{:?}", e);
829                let buf = USize(2).raw_encode(buf, purpose)?;
830                let buf = msg.raw_encode(buf, purpose)?;
831                Ok(buf)
832            }
833            BuckyOriginError::StripPrefixError(e) => {
834                let msg = format!("{:?}", e);
835                let buf = USize(2).raw_encode(buf, purpose)?;
836                let buf = msg.raw_encode(buf, purpose)?;
837                Ok(buf)
838            }
839            BuckyOriginError::ParseUtf8Error(e) => {
840                let msg = format!("{:?}", e);
841                let buf = USize(2).raw_encode(buf, purpose)?;
842                let buf = msg.raw_encode(buf, purpose)?;
843                Ok(buf)
844            }
845            BuckyOriginError::ErrorMsg(msg) => {
846                let buf = USize(2).raw_encode(buf, purpose)?;
847                let buf = msg.raw_encode(buf, purpose)?;
848                Ok(buf)
849            }
850            #[cfg(feature = "sqlx")]
851            BuckyOriginError::SqlxError(e) => {
852                let msg = format!("{:?}", e);
853                let buf = USize(2).raw_encode(buf, purpose)?;
854                let buf = msg.raw_encode(buf, purpose)?;
855                Ok(buf)
856            }
857            _ => {
858                let buf = USize(3).raw_encode(buf, purpose)?;
859                Ok(buf)
860            }
861        }
862    }
863}
864
865impl<'de> RawDecode<'de> for BuckyOriginError {
866    fn raw_decode(buf: &'de [u8]) -> BuckyResult<(Self, &'de [u8])> {
867        let (t, buf) = USize::raw_decode(buf)?;
868        return if t.0 == 1 {
869            let (code, buf) = u32::raw_decode(buf)?;
870            Ok((BuckyOriginError::CodeError(code), buf))
871        } else if t.0 == 2 {
872            let (msg, buf) = String::raw_decode(buf)?;
873            Ok((BuckyOriginError::ErrorMsg(msg), buf))
874        } else {
875            Ok((BuckyOriginError::ErrorMsg("".to_string()), buf))
876        };
877    }
878}