This adds an API, tests and documentation for the multi shot receive functionality. It also adds some testing for overflow paths in accept & poll which previously was not tested. Patch 1 adds a helper t_create_socket_pair which provides two connected sockets without needing a hard coded port Patch 2-5 adds multishot recv api, tests and docs Patch 6,7 add tests for overflow in poll v3: * remove TCP_NODELAY stuff from patch 1 as it was useless * fix return codes from recv-multishot test * use ioprio field for multishot v2: * added a multishot recv api rather than expecting applications to use the flags directly * fixed the io_uring.h include * added overflow tests for recv multishot * added tests for poll/accept Dylan Yudaken (7): add t_create_socket_pair add IORING_RECV_MULTISHOT to io_uring.h add io_uring_prep_(recv|recvmsg)_multishot add IORING_RECV_MULTISHOT docs add recv-multishot test add poll overflow test add accept with overflow test man/io_uring_prep_recv.3 | 22 ++ man/io_uring_prep_recv_multishot.3 | 1 + man/io_uring_prep_recvmsg.3 | 20 ++ man/io_uring_prep_recvmsg_multishot.3 | 1 + src/include/liburing.h | 16 ++ src/include/liburing/io_uring.h | 5 + test/Makefile | 2 + test/accept.c | 129 +++++++--- test/helpers.c | 90 +++++++ test/helpers.h | 5 + test/poll-mshot-overflow.c | 128 ++++++++++ test/recv-multishot.c | 343 ++++++++++++++++++++++++++ 12 files changed, 734 insertions(+), 28 deletions(-) create mode 120000 man/io_uring_prep_recv_multishot.3 create mode 120000 man/io_uring_prep_recvmsg_multishot.3 create mode 100644 test/poll-mshot-overflow.c create mode 100644 test/recv-multishot.c base-commit: 6c90ac3c9fb874d406656c9e7a68805c83a055a0 -- 2.30.2