mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-07-10 16:12:22 +03:00
Add writer drain
This commit is contained in:
parent
c138e17f4a
commit
1d985c674a
|
@ -240,7 +240,7 @@ class Sender:
|
||||||
async def step(self) -> None:
|
async def step(self) -> None:
|
||||||
if not self._writing:
|
if not self._writing:
|
||||||
self._writing = True
|
self._writing = True
|
||||||
self._try_fill_write()
|
await self._try_fill_write()
|
||||||
self._writing = False
|
self._writing = False
|
||||||
|
|
||||||
if not self._reading:
|
if not self._reading:
|
||||||
|
@ -265,7 +265,7 @@ class Sender:
|
||||||
else:
|
else:
|
||||||
self._on_net_read(recv_data)
|
self._on_net_read(recv_data)
|
||||||
|
|
||||||
def _try_fill_write(self) -> None:
|
async def _try_fill_write(self) -> None:
|
||||||
for request in self._requests:
|
for request in self._requests:
|
||||||
if isinstance(request.state, NotSerialized):
|
if isinstance(request.state, NotSerialized):
|
||||||
if (msg_id := self._mtp.push(request.body)) is not None:
|
if (msg_id := self._mtp.push(request.body)) is not None:
|
||||||
|
@ -282,6 +282,8 @@ class Sender:
|
||||||
if isinstance(request.state, Serialized):
|
if isinstance(request.state, Serialized):
|
||||||
request.state = Sent(request.state.msg_id, container_msg_id)
|
request.state = Sent(request.state.msg_id, container_msg_id)
|
||||||
|
|
||||||
|
await self._writer.drain()
|
||||||
|
|
||||||
def _on_net_read(self, read_buffer: bytes) -> None:
|
def _on_net_read(self, read_buffer: bytes) -> None:
|
||||||
if not read_buffer:
|
if not read_buffer:
|
||||||
raise ConnectionResetError("read 0 bytes")
|
raise ConnectionResetError("read 0 bytes")
|
||||||
|
|
Loading…
Reference in New Issue
Block a user