Remove sender lock

This commit is contained in:
Jahongir Qurbonov 2024-10-22 18:20:46 +05:00
parent 676e9d9ef3
commit f3c7ba32d3
2 changed files with 5 additions and 7 deletions

View File

@ -61,10 +61,9 @@ async def handle_migrate(client: Client, dc_id: Optional[int]) -> None:
client._config, client._session.dcs, DataCenter(id=dc_id)
)
async with client._sender.lock:
old_sender = client._sender
client._sender = sender
await old_sender.disconnect()
old_sender = client._sender
client._sender = sender
await old_sender.disconnect()
async def bot_sign_in(self: Client, token: str) -> User:

View File

@ -3,7 +3,7 @@ import logging
import struct
import time
from abc import ABC
from asyncio import Event, Future, Lock
from asyncio import Event, Future
from collections.abc import Iterator
from dataclasses import dataclass
from typing import Generic, Optional, Protocol, Type, TypeVar
@ -162,7 +162,6 @@ class Request(Generic[Return]):
class Sender:
dc_id: int
addr: str
lock: Lock
_logger: logging.Logger
_reader: AsyncReader
_writer: AsyncWriter
@ -193,7 +192,6 @@ class Sender:
return cls(
dc_id=dc_id,
addr=addr,
lock=Lock(),
_logger=base_logger.getChild("mtsender"),
_reading=False,
_writing=False,
@ -211,6 +209,7 @@ class Sender:
async def disconnect(self) -> None:
self._writer.close()
await self._writer.wait_closed()
self._response_event.set()
def enqueue(self, request: RemoteCall[Return]) -> Future[bytes]:
rx = self._enqueue_body(bytes(request))