Hook up the send queue and create a federation sender worker

This commit is contained in:
Erik Johnston 2016-11-16 17:34:44 +00:00
parent 1587b5a033
commit ed787cf09e
8 changed files with 418 additions and 21 deletions

View file

@ -32,6 +32,7 @@ from synapse.appservice.scheduler import ApplicationServiceScheduler
from synapse.crypto.keyring import Keyring
from synapse.events.builder import EventBuilderFactory
from synapse.federation import initialize_http_replication
from synapse.federation.send_queue import FederationRemoteSendQueue
from synapse.federation.transport.client import TransportLayerClient
from synapse.federation.transaction_queue import TransactionQueue
from synapse.handlers import Handlers
@ -273,7 +274,10 @@ class HomeServer(object):
return TransportLayerClient(self)
def build_federation_sender(self):
return TransactionQueue(self)
if self.config.send_federation:
return TransactionQueue(self)
else:
return FederationRemoteSendQueue(self)
def remove_pusher(self, app_id, push_key, user_id):
return self.get_pusherpool().remove_pusher(app_id, push_key, user_id)