mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-09-19 02:12:40 +03:00
Refactor Sender class to use mtp property directly; remove redundant _mtp attribute
This commit is contained in:
parent
ecfb263e41
commit
f77b2907ba
|
@ -164,6 +164,7 @@ class Request(Generic[Return]):
|
||||||
class Sender:
|
class Sender:
|
||||||
dc_id: int
|
dc_id: int
|
||||||
addr: str
|
addr: str
|
||||||
|
mtp: Mtp
|
||||||
_connector: Connector
|
_connector: Connector
|
||||||
_reconnection_policy: ReconnectionPolicy
|
_reconnection_policy: ReconnectionPolicy
|
||||||
_logger: logging.Logger
|
_logger: logging.Logger
|
||||||
|
@ -173,7 +174,6 @@ class Sender:
|
||||||
_writing: bool
|
_writing: bool
|
||||||
_step_done: Event
|
_step_done: Event
|
||||||
_transport: Transport
|
_transport: Transport
|
||||||
_mtp: Mtp
|
|
||||||
_mtp_buffer: bytearray
|
_mtp_buffer: bytearray
|
||||||
_updates: list[Updates]
|
_updates: list[Updates]
|
||||||
_requests: list[Request[object]]
|
_requests: list[Request[object]]
|
||||||
|
@ -181,14 +181,6 @@ class Sender:
|
||||||
_read_buffer: bytearray
|
_read_buffer: bytearray
|
||||||
_write_drain_pending: bool
|
_write_drain_pending: bool
|
||||||
|
|
||||||
@property
|
|
||||||
def mtp(self) -> Mtp:
|
|
||||||
return self._mtp
|
|
||||||
|
|
||||||
@mtp.setter
|
|
||||||
def mtp(self, value: Mtp) -> None:
|
|
||||||
self._mtp = value
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
async def connect(
|
async def connect(
|
||||||
cls,
|
cls,
|
||||||
|
@ -207,6 +199,7 @@ class Sender:
|
||||||
return cls(
|
return cls(
|
||||||
dc_id=dc_id,
|
dc_id=dc_id,
|
||||||
addr=addr,
|
addr=addr,
|
||||||
|
mtp=mtp,
|
||||||
_connector=connector,
|
_connector=connector,
|
||||||
_reconnection_policy=reconnection_policy,
|
_reconnection_policy=reconnection_policy,
|
||||||
_logger=base_logger.getChild("mtsender"),
|
_logger=base_logger.getChild("mtsender"),
|
||||||
|
@ -216,7 +209,6 @@ class Sender:
|
||||||
_writing=False,
|
_writing=False,
|
||||||
_step_done=Event(),
|
_step_done=Event(),
|
||||||
_transport=transport,
|
_transport=transport,
|
||||||
_mtp=mtp,
|
|
||||||
_mtp_buffer=bytearray(),
|
_mtp_buffer=bytearray(),
|
||||||
_updates=[],
|
_updates=[],
|
||||||
_requests=[],
|
_requests=[],
|
||||||
|
@ -332,12 +324,12 @@ class Sender:
|
||||||
|
|
||||||
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:
|
||||||
request.state = Serialized(msg_id)
|
request.state = Serialized(msg_id)
|
||||||
else:
|
else:
|
||||||
break
|
break
|
||||||
|
|
||||||
result = self._mtp.finalize()
|
result = self.mtp.finalize()
|
||||||
if result:
|
if result:
|
||||||
container_msg_id, mtp_buffer = result
|
container_msg_id, mtp_buffer = result
|
||||||
for request in self._requests:
|
for request in self._requests:
|
||||||
|
@ -385,7 +377,7 @@ class Sender:
|
||||||
async def _on_error(self, error: Exception) -> None:
|
async def _on_error(self, error: Exception) -> None:
|
||||||
self._logger.info(f"handling error: {error}")
|
self._logger.info(f"handling error: {error}")
|
||||||
self._transport.reset()
|
self._transport.reset()
|
||||||
self._mtp.reset()
|
self.mtp.reset()
|
||||||
self._logger.info(
|
self._logger.info(
|
||||||
"resetting sender state from read_buffer {}, mtp_buffer {}".format(
|
"resetting sender state from read_buffer {}, mtp_buffer {}".format(
|
||||||
len(self._read_buffer),
|
len(self._read_buffer),
|
||||||
|
@ -417,7 +409,7 @@ class Sender:
|
||||||
raise error
|
raise error
|
||||||
|
|
||||||
def _process_mtp_buffer(self) -> None:
|
def _process_mtp_buffer(self) -> None:
|
||||||
results = self._mtp.deserialize(self._mtp_buffer)
|
results = self.mtp.deserialize(self._mtp_buffer)
|
||||||
|
|
||||||
for result in results:
|
for result in results:
|
||||||
match result:
|
match result:
|
||||||
|
@ -558,8 +550,8 @@ class Sender:
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def auth_key(self) -> Optional[bytes]:
|
def auth_key(self) -> Optional[bytes]:
|
||||||
if isinstance(self._mtp, Encrypted):
|
if isinstance(self.mtp, Encrypted):
|
||||||
return self._mtp.auth_key
|
return self.mtp.auth_key
|
||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user