Skip to main content

Module uring

Module uring 

Source
Expand description

io_uring driver using one ring over UDP + TUN with provided-buffer receives.

This backend keeps one ring alive and drives both fds from it. UDP is now unconnected (the addressed socket seam, #33): receives use single-shot recvmsg, each carrying its own dedicated buffer + sockaddr_storage, so the driver recovers each datagram’s source address; a fresh recv is re-armed on the same slot after every completion. Sends use sendmsg with an explicit per-datagram destination (see EgressDatagram::dst). TUN uses a single pooled read that is re-submitted after each completion; multishot read is not yet relied on.

Structs§

UringDriver
One-ring io_uring driver handling UDP + TUN.

Functions§

run_uring
Run the io_uring loop forever for production use.
uring_available
Probe whether io_uring + provided-buffer registration is available.