a653rs_postcard/
error.rs

1//! Error Types
2
3#[cfg(feature = "alloc")]
4use alloc::vec::Vec;
5
6#[cfg(feature = "alloc")]
7extern crate alloc;
8
9use a653rs::prelude::*;
10
11#[cfg(feature = "alloc")]
12#[derive(Debug, Clone)]
13pub enum QueuingRecvError {
14    Apex(a653rs::prelude::Error),
15    /// Postcard deserialization error
16    ///
17    /// Also returns the data which failed to deserialize
18    Postcard(postcard::Error, Vec<u8>),
19}
20
21#[cfg(feature = "alloc")]
22impl From<a653rs::prelude::Error> for QueuingRecvError {
23    fn from(e: a653rs::prelude::Error) -> Self {
24        QueuingRecvError::Apex(e)
25    }
26}
27
28#[derive(Debug, Clone)]
29pub enum QueuingRecvBufError<'a> {
30    Apex(a653rs::prelude::Error),
31    /// Postcard deserialization error
32    ///
33    /// Also returns the data which failed to deserialize
34    Postcard(postcard::Error, &'a [u8]),
35}
36
37impl From<a653rs::prelude::Error> for QueuingRecvBufError<'_> {
38    fn from(e: a653rs::prelude::Error) -> Self {
39        QueuingRecvBufError::Apex(e)
40    }
41}
42
43#[cfg(feature = "alloc")]
44#[derive(Debug, Clone)]
45pub enum SamplingRecvError {
46    Apex(a653rs::prelude::Error),
47    /// Postcard deserialization error
48    ///
49    /// Also returns the data which failed to deserialize and its [`Validity`]
50    Postcard(postcard::Error, Validity, Vec<u8>),
51}
52
53#[cfg(feature = "alloc")]
54impl From<a653rs::prelude::Error> for SamplingRecvError {
55    fn from(e: a653rs::prelude::Error) -> Self {
56        SamplingRecvError::Apex(e)
57    }
58}
59
60#[derive(Debug, Clone)]
61pub enum SamplingRecvBufError<'a> {
62    Apex(a653rs::prelude::Error),
63    /// Postcard deserialization error
64    ///
65    /// Also returns the data which failed to deserialize and its [`Validity`]
66    Postcard(postcard::Error, Validity, &'a [u8]),
67}
68
69impl From<a653rs::prelude::Error> for SamplingRecvBufError<'_> {
70    fn from(e: a653rs::prelude::Error) -> Self {
71        SamplingRecvBufError::Apex(e)
72    }
73}
74
75#[derive(Debug)]
76pub enum SendError {
77    Apex(a653rs::prelude::Error),
78    Postcard(postcard::Error),
79}
80
81impl From<a653rs::prelude::Error> for SendError {
82    fn from(e: a653rs::prelude::Error) -> Self {
83        SendError::Apex(e)
84    }
85}
86
87impl From<postcard::Error> for SendError {
88    fn from(e: postcard::Error) -> Self {
89        SendError::Postcard(e)
90    }
91}