anonymousland-synapse/synapse/federation
Richard van der Hoff 4876af06dd
Abort federation requests if the client disconnects early (#7930)
For inbound federation requests, if a given remote server makes too many
requests at once, we start stacking them up rather than processing them
immediatedly.

However, that means that there is a fair chance that the requesting server will
disconnect before we start processing the request. In that case, if it was a
read-only request (ie, a GET request), there is absolutely no point in
building a response (and some requests are quite expensive to handle).

Even in the case of a POST request, one of two things will happen:

 * Most likely, the requesting server will retry the request and we'll get the
   information anyway.

 * Even if it doesn't, the requesting server has to assume that we didn't get
   the memo, and act accordingly.

In short, we're better off aborting the request at this point rather than
ploughing on with what might be a quite expensive request.
2020-07-23 16:52:33 +01:00
..
sender Add ability to run multiple pusher instances (#7855) 2020-07-16 14:06:28 +01:00
transport Abort federation requests if the client disconnects early (#7930) 2020-07-23 16:52:33 +01:00
__init__.py Remove unused ReplicationLayer 2018-03-13 11:00:04 +00:00
federation_base.py Replace all remaining six usage with native Python 3 equivalents (#7704) 2020-06-16 08:51:47 -04:00
federation_client.py Convert synapse.app to async/await. (#7868) 2020-07-17 07:08:56 -04:00
federation_server.py Allow moving typing off master (#7869) 2020-07-16 15:12:54 +01:00
persistence.py Clean up newline quote marks around the codebase (#6362) 2019-11-21 12:00:14 +00:00
send_queue.py Add ability to shard the federation sender (#7798) 2020-07-10 18:26:36 +01:00
units.py Add typing to synapse.federation.sender (#6871) 2020-02-07 13:56:38 +00:00