diff options
author | Mark Haines <mjark@negativecurvature.net> | 2016-05-17 10:54:39 +0100 |
---|---|---|
committer | Mark Haines <mjark@negativecurvature.net> | 2016-05-17 10:54:39 +0100 |
commit | c4c98ce8da402e3b36081e79a63fd2726ec92db0 (patch) | |
tree | 2e03fdf537731d9a8d1e8f7a0feaaeb0c9d84eb8 /synapse | |
parent | Merge pull request #786 from matrix-org/matthew/email_notifs_tuning (diff) | |
parent | Merge remote-tracking branch 'origin/develop' into markjh/liberate_sync_handler (diff) | |
download | synapse-c4c98ce8da402e3b36081e79a63fd2726ec92db0.tar.xz |
Merge pull request #790 from matrix-org/markjh/liberate_sync_handler
Move SyncHandler out of the Handlers object
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/handlers/__init__.py | 2 | ||||
-rw-r--r-- | synapse/handlers/sync.py | 10 | ||||
-rw-r--r-- | synapse/rest/client/v2_alpha/sync.py | 3 | ||||
-rw-r--r-- | synapse/server.py | 5 |
4 files changed, 11 insertions, 9 deletions
diff --git a/synapse/handlers/__init__.py b/synapse/handlers/__init__.py index 60e31b68ff..e1fc9a58ad 100644 --- a/synapse/handlers/__init__.py +++ b/synapse/handlers/__init__.py @@ -28,7 +28,6 @@ from .directory import DirectoryHandler from .typing import TypingNotificationHandler from .admin import AdminHandler from .appservice import ApplicationServicesHandler -from .sync import SyncHandler from .auth import AuthHandler from .identity import IdentityHandler from .receipts import ReceiptsHandler @@ -65,7 +64,6 @@ class Handlers(object): as_api=asapi ) ) - self.sync_handler = SyncHandler(hs) self.auth_handler = AuthHandler(hs) self.identity_handler = IdentityHandler(hs) self.search_handler = SearchHandler(hs) diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py index 4bdb0aef84..9ebfccc8bf 100644 --- a/synapse/handlers/sync.py +++ b/synapse/handlers/sync.py @@ -13,8 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ._base import BaseHandler - from synapse.streams.config import PaginationConfig from synapse.api.constants import Membership, EventTypes from synapse.util.async import concurrently_execute @@ -133,10 +131,12 @@ class SyncResult(collections.namedtuple("SyncResult", [ ) -class SyncHandler(BaseHandler): +class SyncHandler(object): def __init__(self, hs): - super(SyncHandler, self).__init__(hs) + self.store = hs.get_datastore() + self.notifier = hs.get_notifier() + self.presence_handler = hs.get_presence_handler() self.event_sources = hs.get_event_sources() self.clock = hs.get_clock() self.response_cache = ResponseCache() @@ -639,7 +639,7 @@ class SyncHandler(BaseHandler): # For each newly joined room, we want to send down presence of # existing users. - presence_handler = self.hs.get_presence_handler() + presence_handler = self.presence_handler extra_presence_users = set() for room_id in newly_joined_rooms: users = yield self.store.get_users_in_room(event.room_id) diff --git a/synapse/rest/client/v2_alpha/sync.py b/synapse/rest/client/v2_alpha/sync.py index 812abe22b1..43d8e0bf39 100644 --- a/synapse/rest/client/v2_alpha/sync.py +++ b/synapse/rest/client/v2_alpha/sync.py @@ -79,8 +79,7 @@ class SyncRestServlet(RestServlet): def __init__(self, hs): super(SyncRestServlet, self).__init__() self.auth = hs.get_auth() - self.event_stream_handler = hs.get_handlers().event_stream_handler - self.sync_handler = hs.get_handlers().sync_handler + self.sync_handler = hs.get_sync_handler() self.clock = hs.get_clock() self.filtering = hs.get_filtering() self.presence_handler = hs.get_presence_handler() diff --git a/synapse/server.py b/synapse/server.py index 6d01b68bd4..785a087452 100644 --- a/synapse/server.py +++ b/synapse/server.py @@ -28,6 +28,7 @@ from synapse.notifier import Notifier from synapse.api.auth import Auth from synapse.handlers import Handlers from synapse.handlers.presence import PresenceHandler +from synapse.handlers.sync import SyncHandler from synapse.state import StateHandler from synapse.storage import DataStore from synapse.util import Clock @@ -80,6 +81,7 @@ class HomeServer(object): 'rest_servlet_factory', 'state_handler', 'presence_handler', + 'sync_handler', 'notifier', 'distributor', 'client_resource', @@ -169,6 +171,9 @@ class HomeServer(object): def build_presence_handler(self): return PresenceHandler(self) + def build_sync_handler(self): + return SyncHandler(self) + def build_event_sources(self): return EventSources(self) |