![]() Motivation: On Linux, the UDP_SEGMENT socket option allows for large buffers to be written to the kernel and segmented by the kernel (or in some cases the NIC) into smaller datagrams. This can substantially decrease the number of syscalls. This can be set on a per message basis on a per socket basis. This change adds per socket configuration. Modifications: - Add a CNIOLinux function to check whether UDP_SEGMENT is supported on that particular Linux. - Add a helper to `System` to check whether UDP_SEGMENT is supported on the current platform. - On Linux only: - add the udp socket option level - add the udp_segment socket option - Add the `DatagramSegmentSize` channel option. - Get/Set the option in `DatagramChannel` Results: UDP GSO is supported on Linux. Co-authored-by: Cory Benfield <lukasa@apple.com> |
||
---|---|---|
.. | ||
NIOConcurrencyHelpersTests | ||
NIOCoreTests | ||
NIODataStructuresTests | ||
NIOEmbeddedTests | ||
NIOFoundationCompatTests | ||
NIOHTTP1Tests | ||
NIOPosixTests | ||
NIOTLSTests | ||
NIOTestUtilsTests | ||
NIOTests | ||
NIOWebSocketTests | ||
LinuxMain.swift |