Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit 97d2a63

Browse files
committed
Simplify start_listening callpath
There's really no point in having `hs.start` pull out the listener config, so that it can be passed down into `_base.start`, and then back into `hs.start_listening`.
1 parent 5a15377 commit 97d2a63

File tree

5 files changed

+13
-16
lines changed

5 files changed

+13
-16
lines changed

synapse/app/_base.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ def refresh_certificate(hs):
288288
logger.info("Context factories updated.")
289289

290290

291-
async def start(hs: "synapse.server.HomeServer", listeners: Iterable[ListenerConfig]):
291+
async def start(hs: "synapse.server.HomeServer"):
292292
"""
293293
Start a Synapse server or worker.
294294
@@ -300,7 +300,6 @@ async def start(hs: "synapse.server.HomeServer", listeners: Iterable[ListenerCon
300300
301301
Args:
302302
hs: homeserver instance
303-
listeners: Listener configuration ('listeners' in homeserver.yaml)
304303
"""
305304
# Set up the SIGHUP machinery.
306305
if hasattr(signal, "SIGHUP"):
@@ -336,7 +335,7 @@ def run_sighup(*args, **kwargs):
336335
synapse.logging.opentracing.init_tracer(hs) # type: ignore[attr-defined] # noqa
337336

338337
# It is now safe to start your Synapse.
339-
hs.start_listening(listeners)
338+
hs.start_listening()
340339
hs.get_datastore().db_pool.start_profiling()
341340
hs.get_pusherpool().start()
342341

synapse/app/admin_cmd.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,6 @@ class AdminCmdSlavedStore(
7070
class AdminCmdServer(HomeServer):
7171
DATASTORE_CLASS = AdminCmdSlavedStore
7272

73-
def _listen_http(self, listener_config):
74-
pass
75-
76-
def start_listening(self, listeners):
77-
pass
78-
7973

8074
async def export_data_command(hs, args):
8175
"""Export data for a user.
@@ -232,7 +226,7 @@ def start(config_options):
232226

233227
async def run():
234228
with LoggingContext("command"):
235-
_base.start(ss, [])
229+
_base.start(ss)
236230
await args.func(ss, args)
237231

238232
_base.start_worker_reactor(

synapse/app/generic_worker.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -396,8 +396,8 @@ def _listen_http(self, listener_config: ListenerConfig):
396396

397397
logger.info("Synapse worker now listening on port %d", port)
398398

399-
def start_listening(self, listeners: Iterable[ListenerConfig]):
400-
for listener in listeners:
399+
def start_listening(self):
400+
for listener in self.config.worker_listeners:
401401
if listener.type == "http":
402402
self._listen_http(listener)
403403
elif listener.type == "manhole":
@@ -490,7 +490,7 @@ def start(config_options):
490490
# streams. Will no-op if no streams can be written to by this worker.
491491
hs.get_replication_streamer()
492492

493-
register_start(_base.start, hs, config.worker_listeners)
493+
register_start(_base.start, hs)
494494

495495
_base.start_worker_reactor("synapse-generic-worker", config)
496496

synapse/app/homeserver.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -273,14 +273,14 @@ def _configure_named_resource(self, name, compress=False):
273273

274274
return resources
275275

276-
def start_listening(self, listeners: Iterable[ListenerConfig]):
276+
def start_listening(self):
277277
if self.config.redis_enabled:
278278
# If redis is enabled we connect via the replication command handler
279279
# in the same way as the workers (since we're effectively a client
280280
# rather than a server).
281281
self.get_tcp_replication().start_replication(self)
282282

283-
for listener in listeners:
283+
for listener in self.config.server.listeners:
284284
if listener.type == "http":
285285
self._listening_services.extend(
286286
self._listener_http(self.config, listener)
@@ -412,7 +412,7 @@ async def start():
412412
# Loading the provider metadata also ensures the provider config is valid.
413413
await oidc.load_metadata()
414414

415-
await _base.start(hs, config.listeners)
415+
await _base.start(hs)
416416

417417
hs.get_datastore().db_pool.updates.start_doing_background_updates()
418418

synapse/server.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,10 @@ def setup(self) -> None:
286286
if self.config.run_background_tasks:
287287
self.setup_background_tasks()
288288

289+
def start_listening(self) -> None:
290+
"""Start the HTTP, manhole, metrics, etc listeners"""
291+
pass
292+
289293
def setup_background_tasks(self) -> None:
290294
"""
291295
Some handlers have side effects on instantiation (like registering

0 commit comments

Comments
 (0)