io_uring_owner/
error.rs

1//! Owner Errors
2
3use core::fmt;
4use core::fmt::Display;
5
6/// Errors relating to taking (ownership)
7#[derive(Debug)]
8pub enum TakeError {
9    /// Filling pendign by the User
10    PendingFilling,
11    /// Already taken, typically internal error.
12    AlreadyTaken,
13    /// Kernel owns, cannot take.
14    KernelOwns,
15    /// Buffer is returned but not marked for re-usable
16    Returned,
17    /// Cannot take multi-buffer-holder, requires one single buffer.
18    OnlyOneTakeable,
19}
20
21impl Display for TakeError {
22    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
23        match self {
24            Self::PendingFilling => write!(f, "Pending filling by the user."),
25            Self::AlreadyTaken => write!(f, "Kernel owns, cannot take."),
26            Self::KernelOwns => write!(
27                f,
28                "Kernel owns the buffer. Must be claered for re-use first."
29            ),
30            Self::Returned => write!(f, "Markerd as returnd but not marked for re-use."),
31            Self::OnlyOneTakeable => write!(
32                f,
33                "Cannot take multi-buffer-holder, requires one single buffer."
34            ),
35        }
36    }
37}
38
39impl std::error::Error for TakeError {}