about summary refs log tree commit diff
path: root/src/socks.py
blob: 4e7d2ea6a3728fdb0cf1da4c7213018ddb27b810 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from time import sleep
from ssl import SSLSocket


_SOCK_TIME_DELAY = 1.e-3


def ssl_sock_accept(sock: SSLSocket) -> tuple[SSLSocket, str]:
    while True:
        try:
            return sock.accept()
        except BlockingIOError:
            sleep(_SOCK_TIME_DELAY)


def ssl_sock_recv(sock: SSLSocket, buflen: int = 1024):
    while (msg := sock.recv(buflen)) == b'':
        sleep(_SOCK_TIME_DELAY)
    return msg