Compare commits

...

2 Commits

2 changed files with 30 additions and 24 deletions

View File

@@ -68,9 +68,12 @@ class Connector:
return False
def connect(self, retry_interval: int = 1) -> None:
def connect(self) -> None:
retry_interval: int = 1
connected: bool = False
while not connected:
self.logger.debug(
f"Connecting to {self.host}:{self.port} with timeout {self.connect_timeout}s..."
f"[.] Connecting to {self.host}:{self.port} with timeout {self.connect_timeout}s..."
)
try:
self.socket.settimeout(self.connect_timeout)
@@ -78,6 +81,7 @@ class Connector:
self.socket.settimeout(self.socket_timeout)
self.logger.info(f"[+] Connected to {self.host}:{self.port}")
self.send_hello()
connected = True
except (
socket.timeout,
ConnectionRefusedError,
@@ -90,7 +94,9 @@ class Connector:
f"[.] Retrying connection in {retry_interval} s..."
)
time.sleep(retry_interval)
self.connect(retry_interval=min(30, retry_interval * 2))
retry_interval = min(
retry_interval * 2, 30
) # exponential backoff
def send(self, data: bytes, no_check_ack: bool = False) -> None:
self.logger.debug(f"[>] Sending data: {data}")

4
uv.lock generated
View File

@@ -292,8 +292,8 @@ test = [
[[package]]
name = "judas-protocol"
version = "0.2.0"
source = { git = "https://gitea.pufereq.pl/judas/judas_protocol.git#bc1bf46388eb904738893a2f86b5050b4ce2489e" }
version = "0.3.0"
source = { git = "https://gitea.pufereq.pl/judas/judas_protocol.git#c25ee1ebdfff8ff51bf00131732720091562e101" }
[[package]]
name = "markdown-it-py"