Which errors are due to network connection problems and which are due to the remote server actively closing the connection?

I am trying to determine the acceptable request rate to a remote server. So if I get ClientOSError with errno = 104 (which is “connection reset by peer”) I know that the request rate has been unacceptable and so I set my app to limit the request rate before trying again.

Independently I am struggling with a poor internet connection, so some errors are likely due to connection issues, rather that what the remote server does. In this case I suppose I should wait before retrying, but further rate limiting is not necessary.

For example, sometimes I am getting ServerDisconnectedError. But which of these two categories does this exception fall to?

Your official documentation I linked to above is, unfortunately, pretty vague, at least for me: It just says ‘Server disconnected.’. Ugh - does this mean that the server did disconnect (thus it falls to the first category) or does this mean that the server has been disconnected (by no fault on its own?)

If I might suggest - maybe it would be worthy to clarify this in your docs as well.

Thank you in advance!

Sorry for the late answer.

Unfortunately, the library doesn’t provide such information yet.