mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-02 08:26:01 -04:00
Time out HTTP federation requests
This commit is contained in:
parent
771892b314
commit
0e6b3e4e40
2 changed files with 29 additions and 2 deletions
|
@ -32,3 +32,23 @@ def run_on_reactor():
|
|||
iteration of the main loop
|
||||
"""
|
||||
return sleep(0)
|
||||
|
||||
|
||||
def time_bound_deferred(given_deferred, clock, time_out):
|
||||
ret_deferred = defer.Deferred()
|
||||
|
||||
def timed_out():
|
||||
if not given_deferred.called:
|
||||
given_deferred.cancel()
|
||||
ret_deferred.errback(RuntimeError("Timed out"))
|
||||
|
||||
timer = clock.call_later(time_out, timed_out)
|
||||
|
||||
def succeed(result):
|
||||
clock.cancel_call_later(timer)
|
||||
ret_deferred.callback(result)
|
||||
|
||||
given_deferred.addCallback(succeed)
|
||||
given_deferred.addErrback(ret_deferred.errback)
|
||||
|
||||
return ret_deferred
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue