Function recv [src]
Queues (but does not submit) an SQE to perform a recv(2).
Returns a pointer to the SQE.
Available since 5.6
Prototype
pub fn recv( self: *IoUring, user_data: u64, fd: posix.fd_t, buffer: RecvBuffer, flags: u32, ) !*linux.io_uring_sqe
Parameters
self: *IoUring
user_data: u64
fd: posix.fd_t
buffer: RecvBuffer
flags: u32
Source
pub fn recv(
self: *IoUring,
user_data: u64,
fd: posix.fd_t,
buffer: RecvBuffer,
flags: u32,
) !*linux.io_uring_sqe {
const sqe = try self.get_sqe();
switch (buffer) {
.buffer => |slice| sqe.prep_recv(fd, slice, flags),
.buffer_selection => |selection| {
sqe.prep_rw(.RECV, fd, 0, selection.len, 0);
sqe.rw_flags = flags;
sqe.flags |= linux.IOSQE_BUFFER_SELECT;
sqe.buf_index = selection.group_id;
},
}
sqe.user_data = user_data;
return sqe;
}