Compare commits
2 Commits
ae69e9e956
...
8646388851
| Author | SHA1 | Date | |
|---|---|---|---|
|
8646388851
|
|||
|
b8333b6408
|
@@ -68,29 +68,35 @@ class Connector:
|
|||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def connect(self, retry_interval: int = 1) -> None:
|
def connect(self) -> None:
|
||||||
self.logger.debug(
|
retry_interval: int = 1
|
||||||
f"Connecting to {self.host}:{self.port} with timeout {self.connect_timeout}s..."
|
connected: bool = False
|
||||||
)
|
while not connected:
|
||||||
try:
|
self.logger.debug(
|
||||||
self.socket.settimeout(self.connect_timeout)
|
f"[.] Connecting to {self.host}:{self.port} with timeout {self.connect_timeout}s..."
|
||||||
self.socket.connect((self.host, self.port))
|
|
||||||
self.socket.settimeout(self.socket_timeout)
|
|
||||||
self.logger.info(f"[+] Connected to {self.host}:{self.port}")
|
|
||||||
self.send_hello()
|
|
||||||
except (
|
|
||||||
socket.timeout,
|
|
||||||
ConnectionRefusedError,
|
|
||||||
ConnectionAbortedError,
|
|
||||||
) as e:
|
|
||||||
self.logger.error(
|
|
||||||
f"[!] Connection to {self.host}:{self.port} failed: {e}"
|
|
||||||
)
|
)
|
||||||
self.logger.info(
|
try:
|
||||||
f"[.] Retrying connection in {retry_interval} s..."
|
self.socket.settimeout(self.connect_timeout)
|
||||||
)
|
self.socket.connect((self.host, self.port))
|
||||||
time.sleep(retry_interval)
|
self.socket.settimeout(self.socket_timeout)
|
||||||
self.connect(retry_interval=min(30, retry_interval * 2))
|
self.logger.info(f"[+] Connected to {self.host}:{self.port}")
|
||||||
|
self.send_hello()
|
||||||
|
connected = True
|
||||||
|
except (
|
||||||
|
socket.timeout,
|
||||||
|
ConnectionRefusedError,
|
||||||
|
ConnectionAbortedError,
|
||||||
|
) as e:
|
||||||
|
self.logger.error(
|
||||||
|
f"[!] Connection to {self.host}:{self.port} failed: {e}"
|
||||||
|
)
|
||||||
|
self.logger.info(
|
||||||
|
f"[.] Retrying connection in {retry_interval} s..."
|
||||||
|
)
|
||||||
|
time.sleep(retry_interval)
|
||||||
|
retry_interval = min(
|
||||||
|
retry_interval * 2, 30
|
||||||
|
) # exponential backoff
|
||||||
|
|
||||||
def send(self, data: bytes, no_check_ack: bool = False) -> None:
|
def send(self, data: bytes, no_check_ack: bool = False) -> None:
|
||||||
self.logger.debug(f"[>] Sending data: {data}")
|
self.logger.debug(f"[>] Sending data: {data}")
|
||||||
|
|||||||
4
uv.lock
generated
4
uv.lock
generated
@@ -292,8 +292,8 @@ test = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "judas-protocol"
|
name = "judas-protocol"
|
||||||
version = "0.2.0"
|
version = "0.3.0"
|
||||||
source = { git = "https://gitea.pufereq.pl/judas/judas_protocol.git#bc1bf46388eb904738893a2f86b5050b4ce2489e" }
|
source = { git = "https://gitea.pufereq.pl/judas/judas_protocol.git#c25ee1ebdfff8ff51bf00131732720091562e101" }
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "markdown-it-py"
|
name = "markdown-it-py"
|
||||||
|
|||||||
Reference in New Issue
Block a user