I want to use .set_read_timeout() with a short timeout, maybe 50-100ms, on a socket from std::net::UdpSocket. Does that work? The above note indicates it didn't work on Windows in 2015. Windows added 500ms to each timeout. Is that still a problem? Also, there are Stack Overflow discussions that indicate that setting the timeout on an active socket, after binding, is bad.
The usual approach in C++ would be to use select or poll, but those are not implemented for UdpSocket, as far as I can tell.
Use case: send a retransmission for an unacknowledged packet. This is running in a thread, and not at top level where mio or async approaches would be reasonable.