Retry make_join

This commit is contained in:
Erik Johnston 2015-02-04 13:55:10 +00:00
parent 03d415a6a2
commit ff78eded01
1 changed files with 12 additions and 7 deletions

View File

@ -251,16 +251,21 @@ class FederationClient(FederationBase):
defer.returnValue(signed_auth) defer.returnValue(signed_auth)
@defer.inlineCallbacks @defer.inlineCallbacks
def make_join(self, destination, room_id, user_id): def make_join(self, destinations, room_id, user_id):
ret = yield self.transport_layer.make_join( for destination in destinations:
destination, room_id, user_id try:
) ret = yield self.transport_layer.make_join(
destination, room_id, user_id
)
pdu_dict = ret["event"] pdu_dict = ret["event"]
logger.debug("Got response to make_join: %s", pdu_dict) logger.debug("Got response to make_join: %s", pdu_dict)
defer.returnValue(self.event_from_pdu_json(pdu_dict)) defer.returnValue(self.event_from_pdu_json(pdu_dict))
break
except Exception as e:
logger.warn("Failed to make_join via %s", destination)
@defer.inlineCallbacks @defer.inlineCallbacks
def send_join(self, destination, pdu): def send_join(self, destination, pdu):