mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-03-09 21:55:48 +03:00
SocketClosed exception
This commit is contained in:
parent
32bca4f1b8
commit
004c92edbe
|
@ -18,6 +18,9 @@ CONN_RESET_ERRNOS = {
|
||||||
|
|
||||||
|
|
||||||
class TcpClient:
|
class TcpClient:
|
||||||
|
class SocketClosed(ConnectionError):
|
||||||
|
pass
|
||||||
|
|
||||||
def __init__(self, proxy=None, timeout=timedelta(seconds=5), loop=None):
|
def __init__(self, proxy=None, timeout=timedelta(seconds=5), loop=None):
|
||||||
self.proxy = proxy
|
self.proxy = proxy
|
||||||
self._socket = None
|
self._socket = None
|
||||||
|
@ -100,7 +103,7 @@ class TcpClient:
|
||||||
loop=self._loop
|
loop=self._loop
|
||||||
)
|
)
|
||||||
if not self.connected:
|
if not self.connected:
|
||||||
raise ConnectionResetError('Socket has closed')
|
raise self.SocketClosed()
|
||||||
if not done:
|
if not done:
|
||||||
raise TimeoutError()
|
raise TimeoutError()
|
||||||
return await done.pop()
|
return await done.pop()
|
||||||
|
@ -111,6 +114,8 @@ class TcpClient:
|
||||||
raise ConnectionResetError('No connection')
|
raise ConnectionResetError('No connection')
|
||||||
try:
|
try:
|
||||||
await self._wait_close(self.sock_sendall(data))
|
await self._wait_close(self.sock_sendall(data))
|
||||||
|
except self.SocketClosed:
|
||||||
|
raise ConnectionResetError('Socket has closed')
|
||||||
except OSError as e:
|
except OSError as e:
|
||||||
if e.errno in CONN_RESET_ERRNOS:
|
if e.errno in CONN_RESET_ERRNOS:
|
||||||
self._raise_connection_reset(e)
|
self._raise_connection_reset(e)
|
||||||
|
@ -128,6 +133,8 @@ class TcpClient:
|
||||||
raise ConnectionResetError('No connection')
|
raise ConnectionResetError('No connection')
|
||||||
try:
|
try:
|
||||||
partial = await self._wait_close(self.sock_recv(bytes_left))
|
partial = await self._wait_close(self.sock_recv(bytes_left))
|
||||||
|
except self.SocketClosed:
|
||||||
|
raise ConnectionResetError('Socket has closed')
|
||||||
except OSError as e:
|
except OSError as e:
|
||||||
if e.errno in CONN_RESET_ERRNOS:
|
if e.errno in CONN_RESET_ERRNOS:
|
||||||
self._raise_connection_reset(e)
|
self._raise_connection_reset(e)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user