wired
libc-free QUIC/HTTP3 SDK in C for x86_64-linux
Loading...
Searching...
No Matches
quic_mmsg_buf Struct Reference

One slot of a recvmmsg() batch: caller-owned receive buffer and source address, filled in by wired_udp_recvmmsg on return. More...

#include <udp.h>

Data Fields

quic_mspan buf
 in: destination buffer; unused bytes untouched
quic_sockaddr src
 out: datagram's source address
u32 len
 out: bytes received into buf.p
u8 ecn
 out: RFC 3168 ECN codepoint of the received IP header (0 = Not-ECT, 1 = ECT(1), 2 = ECT(0), 3 = CE), read from the IP_TOS cmsg when IP_RECVTOS is enabled on the socket (wired_udp_ect0_enable does not itself enable it – see its doc).

Detailed Description

One slot of a recvmmsg() batch: caller-owned receive buffer and source address, filled in by wired_udp_recvmmsg on return.

Field Documentation

◆ ecn

u8 quic_mmsg_buf::ecn

out: RFC 3168 ECN codepoint of the received IP header (0 = Not-ECT, 1 = ECT(1), 2 = ECT(0), 3 = CE), read from the IP_TOS cmsg when IP_RECVTOS is enabled on the socket (wired_udp_ect0_enable does not itself enable it – see its doc).

0 when no cmsg was present, the cmsg was truncated (MSG_CTRUNC), or the receive path (e.g. wired_udp_recvmmsg_fallback) has no cmsg support at all – always the safe "not ECN-marked" reading, never a false ECT/CE count.


The documentation for this struct was generated from the following file:
  • transport/io/socket/io/udp.h