The defaults are tuned toward common desktop/laptop use and may not hold
up to extreme conditions (arctic satellite link, mobile internet on a
train in Brandenburg, Germany, and similar) and may be inefficient in
other conditions (stable server link, localhost communication).
Soft timeouts are not fatal, but they must be handled by user code so
that more data is read after at most Self::response_timeout,
starting from the moment the soft timeout is returned.
If the stream is silent for longer than this time after a soft timeout
has been emitted, a hard TimedOut
I/O error is returned and the stream is to be considered dead.