blob: bcb76c0c360160eb034299aa5920ab06d2a36e32 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
import asyncio
from ssl import SSLSocket
_SOCK_TIME_DELAY = 1.e-3
async def ssl_sock_accept(sock: SSLSocket) -> tuple[SSLSocket, str]:
while True:
try:
return sock.accept()
except BlockingIOError:
await asyncio.sleep(_SOCK_TIME_DELAY)
async def ssl_sock_recv(sock: SSLSocket, buflen: int = 1024):
while (msg := sock.recv(buflen)) == b'':
await asyncio.sleep(_SOCK_TIME_DELAY)
return msg
async def ssl_sock_sendall(sock: SSLSocket, data: bytes):
sock.sendall(data)
|