Function is_transient_error

Source
pub fn is_transient_error(e: &Error) -> bool
Expand description

Returns true if the error is transient

The transient error is defined here as an error after which we can continue accepting subsequent connections without the risk of a tight loop.

For example, a per-connection error like ConnectionReset in accept() system call means then next connection might be ready to be accepted immediately.

All other errors should incur a timeout before the next accept() is performed. The timeout is useful to handle resource exhaustion errors like ENFILE and EMFILE: file descriptor might be released after some time but the error will be the same if we continue to accept in a tight loop.

This function is most likely should not be used directly, but rather through one of the following adapters: