Structure used for scatter/gather data input when receiving multiple messages or packets in one go.
You generally pass in an array of empty InputVectors and the operation will use all
the buffers as if they were one buffer, and will set bytes_received
to the total number of bytes received across all
InputVectors.
This structure closely mirrors `struct mmsghdr` and `struct msghdr` from the POSIX sockets API (see `man 2 recvmmsg`).
If address
is non-null then it is set to the source address the message was received from,
and the caller must free it afterwards.
If control_messages
is non-null then it is set to an array of control messages received
with the message (if any), and the caller must free it afterwards. num_control_messages
is set to the number of elements in
this array, which may be zero.
Flags relevant to this message will be returned in flags
. For example, `MSG_EOR` or `MSG_TRUNC`.