pub fn set_nodelay(fd: libc::c_int) -> anyhow::Result<()> {
let flag: libc::c_int = 1; let ret = unsafe {
libc::setsockopt(
fd,
libc::IPPROTO_TCP, libc::TCP_NODELAY, (&raw const flag).cast::<libc::c_void>(),
libc::socklen_t::try_from(std::mem::size_of::<libc::c_int>())?,
)
};
if ret == -1 {
return Err(std::io::Error::last_os_error().into());
}
Ok(())
}