Skip to main content

dope_uring/driver/
recv_msg_out.rs

1use dope_core::driver::RecvMsgOutView;
2
3pub struct RecvMsgOut;
4
5impl RecvMsgOutView for RecvMsgOut {
6    fn parse_with<R>(
7        raw: &[u8],
8        msghdr: &libc::msghdr,
9        f: impl FnOnce(&[u8], &[u8]) -> R,
10    ) -> Option<R> {
11        let parsed = io_uring::types::RecvMsgOut::parse(raw, msghdr).ok()?;
12        let name = parsed.name_data();
13        let payload = parsed.payload_data();
14        Some(f(name, payload))
15    }
16}