Backport deferred.addTimeout

Twisted 16.0 doesn't have addTimeout, so let's backport it.
This commit is contained in:
Richard van der Hoff 2018-04-27 12:52:30 +01:00
parent 1ea904b9f0
commit 9d2c1b8429
5 changed files with 90 additions and 14 deletions

View file

@ -22,7 +22,7 @@ from twisted.web._newclient import ResponseDone
from synapse.http import cancelled_to_request_timed_out_error
from synapse.http.endpoint import matrix_federation_endpoint
import synapse.metrics
from synapse.util.async import sleep
from synapse.util.async import sleep, add_timeout_to_deferred
from synapse.util import logcontext
from synapse.util.logcontext import make_deferred_yieldable
import synapse.util.retryutils
@ -193,9 +193,10 @@ class MatrixFederationHttpClient(object):
Headers(headers_dict),
producer
)
request_deferred.addTimeout(
add_timeout_to_deferred(
request_deferred,
timeout / 1000. if timeout else 60,
reactor, cancelled_to_request_timed_out_error,
cancelled_to_request_timed_out_error,
)
response = yield make_deferred_yieldable(
request_deferred,