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}