mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2024-11-22 09:26:37 +03:00
1dac866118
The initial release contains the most basic implementation of TLSharp core. This is also fully untested, since no test can be done until more work is done.
40 lines
935 B
Python
40 lines
935 B
Python
from datetime import datetime, timedelta
|
|
|
|
|
|
class MTProtoRequest:
|
|
def __init__(self):
|
|
self.sent = False
|
|
|
|
self.msg_id = 0 # Long
|
|
self.sequence = 0
|
|
|
|
self.dirty = False
|
|
self.send_time = None
|
|
self.confirm_received = False
|
|
|
|
# These should be overrode
|
|
self.confirmed = False
|
|
self.responded = False
|
|
|
|
# These should not be overrode
|
|
def on_send_success(self):
|
|
self.send_time = datetime.now()
|
|
self.sent = True
|
|
|
|
def on_confirm(self):
|
|
self.confirm_received = True
|
|
|
|
def need_resend(self):
|
|
return self.dirty or (self.confirmed and not self.confirm_received and
|
|
datetime.now() - self.send_time > timedelta(seconds=3))
|
|
|
|
# These should be overrode
|
|
def on_send(self, writer):
|
|
pass
|
|
|
|
def on_response(self, reader):
|
|
pass
|
|
|
|
def on_exception(self, exception):
|
|
pass
|