Added sendmmsg and recvmmsg (#574) (#575) #583
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added sendmmsg and recvmmsg methods for Android, Linux, FreeBSD, NetBSD, OpenBSD, Fuchsia and AIX. Note that Windows and MacOS do no support sendmmsg/recvmmsg.
Note that the timeout parameter in recvmmsg is buggy on Linux (see BUGS section in the recvmmsg manual page on Linux), but it should work on *BSD.
This also adds MMsgHdr and MMsgHdrMut structs (similar to MsgHdr and MsgHdrMut which are used for sendmsg/recvmsg). It is a bit nasty that I had to copy the methods of MsgHdr/MsgHdrMut to MMsgHdr/MMsgHdrMut but I don't see a better way.
I also added a simple unittest for sendmmsg and recvmmsg.