43 lines
1.1 KiB
Rust
43 lines
1.1 KiB
Rust
use {jay_io_uring::IoUringError, thiserror::Error};
|
|
pub use {
|
|
buf_in::BufFdIn,
|
|
buf_out::{BufFdOut, OutBuffer, OutBufferSwapchain},
|
|
ei_formatter::EiMsgFormatter,
|
|
ei_parser::{EiMsgParser, EiMsgParserError},
|
|
formatter::MsgFormatter,
|
|
parser::{MsgParser, MsgParserError},
|
|
wl_buf_in::{WlBufFdIn, WlMessage},
|
|
};
|
|
|
|
mod buf_in;
|
|
mod buf_out;
|
|
mod ei_formatter;
|
|
mod ei_parser;
|
|
mod formatter;
|
|
mod parser;
|
|
mod wl_buf_in;
|
|
|
|
#[derive(Debug, Error)]
|
|
pub enum BufFdError {
|
|
#[error("An IO error occurred")]
|
|
Io(#[source] IoUringError),
|
|
#[error("An io-uring error occurred")]
|
|
Ring(#[from] IoUringError),
|
|
#[error("The peer did not send a file descriptor")]
|
|
NoFd,
|
|
#[error("The peer sent too many file descriptors")]
|
|
TooManyFds,
|
|
#[error("The peer closed the connection")]
|
|
Closed,
|
|
#[error("The connection timed out")]
|
|
Timeout,
|
|
#[error("Message size is not a multiple of 4")]
|
|
UnalignedMessageSize,
|
|
#[error("Message size is larger than 4096")]
|
|
MessageTooLarge,
|
|
#[error("Message size is smaller than 8")]
|
|
MessageTooSmall,
|
|
}
|
|
|
|
const BUF_SIZE: usize = 4096;
|
|
const MAX_IN_FD: usize = 32;
|