Tracking Issue for TCP_QUICKACK support on Linux · Issue #96256 · rust-lang/rust (original) (raw)

Feature gate: #![feature(tcp_quickack)]

This is a tracking issue for linux specific socket option TCP_QUICKACK

from linux man page TCP:
"Enable quickack mode if set or disable quickack mode if cleared. In quickack mode, acks are sent immediately, rather than delayed if needed in accordance to normal TCP operation. This flag is not permanent, it only enables a switch to or from quickack mode. Subsequent operation of the TCP protocol will once again enter/leave quickack mode depending on internal protocol processing and factors such as delayed ack timeouts occurring and data transfer. This option should not be used in code intended to be portable."

Public API

// std::os::linux::net

// sealed trait, implemented for std:🥅:TcpStream pub trait TcpStreamExt: Sealed{ fn quickack(&self) -> io::Result; fn set_quickack(&self, quickack: bool) -> io::Result<()>; }

Steps / History

Unresolved Questions

Zulip Discussion
Windows .NET Discussion

Seems the windows API is significantly different from the Linux one to warrant a Linux specific trait.