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.