Skip to content

Commit ac10e4c

Browse files
committed
Merge remote-tracking branch 'vector-im/justinbot/connection-limit'
2 parents 8f215f6 + 03fcc95 commit ac10e4c

File tree

3 files changed

+7
-3
lines changed

3 files changed

+7
-3
lines changed

mautrix/appservice/appservice.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,15 @@ def __init__(self, server: str, domain: str, as_token: str, hs_token: str, bot_l
6363
real_user_content_key: Optional[str] = "net.maunium.appservice.puppet",
6464
state_store: ASStateStore = None, aiohttp_params: Dict = None,
6565
ephemeral_events: bool = False, default_ua: str = HTTPAPI.default_ua,
66-
default_http_retry_count: int = 0) -> None:
66+
default_http_retry_count: int = 0, connection_limit: int = None) -> None:
6767
super().__init__(ephemeral_events=ephemeral_events)
6868
self.server = server
6969
self.domain = domain
7070
self.id = id
7171
self.verify_ssl = verify_ssl
7272
self.tls_cert = tls_cert
7373
self.tls_key = tls_key
74+
self.connection_limit = connection_limit or 100
7475
self.as_token = as_token
7576
self.hs_token = hs_token
7677
self.bot_mxid = UserID(f"@{bot_localpart}:{domain}")
@@ -126,10 +127,11 @@ async def __aexit__(self) -> None:
126127

127128
async def start(self, host: str = "127.0.0.1", port: int = 8080) -> None:
128129
await self.state_store.open()
129-
connector = None
130130
self.log.debug(f"Starting appservice web server on {host}:{port}")
131131
if self.server.startswith("https://") and not self.verify_ssl:
132-
connector = aiohttp.TCPConnector(verify_ssl=False)
132+
connector = aiohttp.TCPConnector(limit=self.connection_limit, verify_ssl=False)
133+
else:
134+
connector = aiohttp.TCPConnector(limit=self.connection_limit)
133135
default_headers = {"User-Agent": self.default_ua}
134136
self._http_session = aiohttp.ClientSession(loop=self.loop, connector=connector,
135137
headers=default_headers)

mautrix/bridge/bridge.py

+1
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ def prepare_appservice(self) -> None:
115115
self.az = AppService(server=self.config["homeserver.address"],
116116
domain=self.config["homeserver.domain"],
117117
verify_ssl=self.config["homeserver.verify_ssl"],
118+
connection_limit=self.config["homeserver.connection_limit"],
118119

119120
id=self.config["appservice.id"],
120121
as_token=self.config["appservice.as_token"],

mautrix/bridge/config.py

+1
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ def do_update(self, helper: ConfigUpdateHelper) -> None:
5656
copy("homeserver.domain")
5757
copy("homeserver.verify_ssl")
5858
copy("homeserver.http_retry_count")
59+
copy("homeserver.connection_limit")
5960
copy("homeserver.status_endpoint")
6061
copy("homeserver.message_send_checkpoint_endpoint")
6162

0 commit comments

Comments
 (0)