pub struct RecvMultiBundle { /* private fields */ }
Expand description
Receive multiple messages from a socket as a bundle.
Parameter: buf_group: The id of the provided buffer pool to use for each received message.
MSG_WAITALL should not be set in flags.
The multishot version allows the application to issue a single receive request, which repeatedly posts a CQE when data is available. Each CQE will take a bundle of buffers out of a provided buffer pool for receiving. The application should check the flags of each CQE, regardless of its result. If a posted CQE does not have the IORING_CQE_F_MORE flag set then the multishot receive will be done and the application should issue a new request.
Note that as of kernel 6.10 first CQE always gets a single buffer, while second obtains the bundle of remaining buffers. This behavior may change in the future.
Multishot bundle variant is available since kernel 6.10.
Implementations§
Source§impl RecvMultiBundle
impl RecvMultiBundle
Sourcepub const CODE: u8 = 27u8
pub const CODE: u8 = 27u8
The opcode of the operation. This can be passed to
Probe::is_supported
to check if this operation is
supported with the current kernel.