Split MessageHandler into read only and writers

This will let us call the read only parts from workers, and so be able
to move some APIs off of master, e.g. the `/state` API.
This commit is contained in:
Erik Johnston 2018-07-18 15:22:02 +01:00
parent dab00faa83
commit 8cb8df55e9
5 changed files with 176 additions and 149 deletions

View file

@ -52,7 +52,11 @@ from synapse.handlers.e2e_keys import E2eKeysHandler
from synapse.handlers.events import EventHandler, EventStreamHandler
from synapse.handlers.groups_local import GroupsLocalHandler
from synapse.handlers.initial_sync import InitialSyncHandler
from synapse.handlers.message import EventCreationHandler
from synapse.handlers.message import (
EventCreationHandler,
MessageHandler,
PaginationHandler,
)
from synapse.handlers.presence import PresenceHandler
from synapse.handlers.profile import ProfileHandler
from synapse.handlers.read_marker import ReadMarkerHandler
@ -163,6 +167,8 @@ class HomeServer(object):
'federation_registry',
'server_notices_manager',
'server_notices_sender',
'message_handler',
'pagination_handler',
]
def __init__(self, hostname, reactor=None, **kwargs):
@ -426,6 +432,12 @@ class HomeServer(object):
return WorkerServerNoticesSender(self)
return ServerNoticesSender(self)
def build_message_handler(self):
return MessageHandler(self)
def build_pagination_handler(self):
return PaginationHandler(self)
def remove_pusher(self, app_id, push_key, user_id):
return self.get_pusherpool().remove_pusher(app_id, push_key, user_id)