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}