diff --git a/man/io_uring_prep_recv.3 b/man/io_uring_prep_recv.3 index 92e5674b8..54ef49b6c 100644 --- a/man/io_uring_prep_recv.3 +++ b/man/io_uring_prep_recv.3 @@ -94,15 +94,18 @@ field indicates the total number of bytes received, and the buffer ID returned in the CQE .I flags field indicates the first buffer in the receive operation. The application must -iterate from the indicated initial buffer ID and until all +process the indicated initial buffer ID and until all .I res bytes have been seen to know which is the last buffer in the receive operation. The buffers consumed will be contiguous from the initial buffer, in the order -in which they appear in the buffer ring. The CQE struct does not contain the position -of the buffer in the bufring, therefore in order to identify buffers contained by the bundle, -it is advised to maintain the cached head index per bufring. This uint16_t index represents the position of the next buffer to be consumed within the ring. Upon completion of a receive operation on a buffer ring, the cached head index should be incremented accordingly. -Receiving in bundles can -improve performance when more than one chunk of data is available to receive, +in which they appear in the buffer ring. The CQE struct does not contain +the position of the buffer in the buffer ring, therefore in order to identify +buffers contained by the bundle, it is advised to maintain the cached head +index per buffer ring. This uint16_t index represents the position of the next +buffer to be consumed within the ring. Upon completion of a receive operation, +the cached head index should be incremented accordingly. +Receiving in bundles can improve performance when more than one chunk of +data is available to receive, by eliminating redundant round trips through the networking stack. Receive bundles may be used by both single shot and multishot receive operations. Note that, internally, bundles rely on the networking stack passing back how much