Add connection_quality setting (hidden for now)

This commit is contained in:
DevilXD
2023-08-16 22:41:20 +02:00
parent 643a9f9300
commit d5410b2aa5
2 changed files with 15 additions and 1 deletions

View File

@@ -19,6 +19,7 @@ class SettingsFile(TypedDict):
priority: list[str]
priority_only: bool
autostart_tray: bool
connection_quality: int
tray_notifications: bool
@@ -29,6 +30,7 @@ default_settings: SettingsFile = {
"autostart": False,
"priority_only": True,
"autostart_tray": False,
"connection_quality": 1,
"language": DEFAULT_LANG,
"tray_notifications": True,
}
@@ -51,6 +53,7 @@ class Settings:
priority: list[str]
priority_only: bool
autostart_tray: bool
connection_quality: int
tray_notifications: bool
PASSTHROUGH = ("_settings", "_args", "_altered")

View File

@@ -648,13 +648,24 @@ class Twitch:
# if loading in the cookies file ends up in an error, just ignore it
# clear the jar, just in case
cookie_jar.clear()
# create timeouts
# connection quality mulitiplier determines the magnitude of timeouts
connection_quality = self.settings.connection_quality
if connection_quality < 1:
connection_quality = self.settings.connection_quality = 1
elif connection_quality > 6:
connection_quality = self.settings.connection_quality = 6
timeout = aiohttp.ClientTimeout(
sock_connect=5*connection_quality,
total=10*connection_quality,
)
# create session, limited to 50 connections at maximum
connector = aiohttp.TCPConnector(limit=50)
self._session = aiohttp.ClientSession(
timeout=timeout,
connector=connector,
cookie_jar=cookie_jar,
headers={"User-Agent": USER_AGENT},
timeout=aiohttp.ClientTimeout(connect=5, total=10),
)
return self._session