Commit Graph

207 Commits

Author SHA1 Message Date
Andrey Egorov
43a0226b33 Merge branch 'asyncio' into asyncio-upstream
* asyncio:
  Not need to save (salt is out of DB)
  Very rare exception in the case of reconnect
  updates_handler is out from MtProtoSender to gc works properly; unauth_handler log format fix
  Memory leaks fix
  Pretty format of TLObject's
  More accurate clear pendings
  Another attempt to prevent duplicates
  Handle updates and other refactoring
  SocketClosed exception
  Refactoring of TcpClient
  Socket OSError logging
  More aggressive catching network errors
  No route to host catched + other errno to reconnect

# Conflicts (resolved):
#	telethon/extensions/tcp_client.py
#	telethon/network/mtproto_sender.py
#	telethon/telegram_bare_client.py
#	telethon/tl/session.py
2018-06-14 15:21:50 +03:00
Andrey Egorov
f5a7a8da45 Not need to save (salt is out of DB) 2018-06-08 01:33:11 +03:00
Lonami Exo
cb75092ba1 Merge branch 'master' into asyncio 2018-05-30 19:02:55 +02:00
Lonami Exo
ae87d452c8 Clean-up docs and merge some imports 2018-05-30 18:55:01 +02:00
Lonami Exo
1aaafc9a43 Merge branch 'master' into asyncio 2018-05-13 16:47:35 +02:00
Lonami Exo
ee51aa7073 Fix lost requests on disconnect need_confirmation.clear
The pending acks shouldn't be cleared, in case of a reconnection
these would be pretty common. E.g. disconnect(), connect(),
invoke, repeat.
2018-05-10 16:45:55 +02:00
Lonami Exo
eb22bce2d9 Add missing connect abstractmethod 2018-05-10 16:16:23 +02:00
Lonami Exo
3df90307a7 Merge branch 'master' into asyncio 2018-05-10 14:45:04 +02:00
Lonami Exo
ba4b7ce881 Make the Connection a proper ABC (#509) 2018-05-10 14:22:19 +02:00
Lonami Exo
6130b8918d Fix invalid merge 2018-05-10 10:07:54 +02:00
Lonami Exo
95eac6c151 Merge branch 'master' into asyncio 2018-05-10 09:55:05 +02:00
Lonami Exo
dd954b8fbd Avoid receive busy wait when two threads receive items 2018-05-10 09:44:25 +02:00
Lonami Exo
ef509d13c7 Move InvokeAfterMsg to TLMessage to cleanly confirm results 2018-05-09 16:18:42 +02:00
Lonami Exo
e2e7e631b5 Stop using *args when invoking many requests at once 2018-05-09 10:19:45 +02:00
Lonami Exo
b09d91b9ef Add missing await 2018-05-09 09:46:58 +02:00
Lonami Exo
e200acbca8 Allow sending ordered MessageContainer 2018-05-09 09:46:07 +02:00
Lonami Exo
fe299cc6cc Remove broken packet length check 2018-05-08 20:26:46 +02:00
Lonami Exo
97f3dd809b Fix race condition causing broken responses 2018-05-08 20:26:19 +02:00
Lonami Exo
01a594ca5d Fix still broken log for broken packets 2018-05-08 20:24:28 +02:00
Lonami Exo
6652fe276c Remove broken packet length check 2018-05-07 17:05:27 +02:00
Lonami Exo
f06b9b68d5 Fix race condition causing broken responses 2018-05-07 17:01:04 +02:00
Lonami Exo
2922e8df11 Fix still broken log for broken packets 2018-05-07 16:46:58 +02:00
Lonami Exo
b7ae612246 Merge branch 'master' into asyncio 2018-04-15 16:09:25 +02:00
Lonami Exo
ace715e059 Don't log broken packets as individual bytes 2018-04-14 15:02:27 +02:00
Lonami Exo
1eb418e1ab Merge branch 'master' into asyncio 2018-04-01 17:08:50 +02:00
Lonami Exo
2b9babb30f Handle GzipPacked lost requests & possibly fix reading normal
Reading normal "lost" requests didn't .seek(-4) to read the TLObject
again. Now it has been slightly refactored to seek back always and
only seek forward when needed (e.g. rpc error).
2018-03-30 11:50:41 +02:00
Lonami Exo
8b0580901a Merge branch 'master' into asyncio 2018-03-24 13:08:51 +01:00
Lonami Exo
43c6896481 Add a custom role for TL references and make use of it 2018-03-23 21:42:17 +01:00
Lonami Exo
e505fc1711 Rename telethon_aio back to telethon 2018-03-18 10:26:53 +01:00
Lonami Exo
fca4904d0f Add more logging calls when confirming a request 2018-03-07 11:30:03 +01:00
Lonami Exo
cde314fc21 Rename package to telethon_aio and prepare for PyPi 2018-03-04 11:22:52 +01:00
Tulir Asokan
4432a2d14e Merge branch 'master' into asyncio 2018-03-03 13:02:13 +02:00
Tulir Asokan
c5e6f7e265 Split Session into three parts and make a module for sessions 2018-03-01 23:40:28 +02:00
Tulir Asokan
c2fba26ad9 Merge branch 'master' into asyncio 2018-02-25 01:54:41 +02:00
Lonami Exo
39621ceae9 Use req_pq_multi instead req_pq when creating an auth_key 2018-02-19 20:31:47 +01:00
Lonami Exo
6e854325a8 Merge branch 'master' into asyncio 2018-02-16 18:42:09 +01:00
Andrey Egorov
a6c6bc73eb updates_handler is out from MtProtoSender to gc works properly; unauth_handler log format fix 2018-02-13 16:08:24 +03:00
Lonami Exo
c83638ed0e Add further logging calls to better spot lost requests 2018-02-12 13:40:00 +01:00
Lonami Exo
d8376ee50d Add a lock around connection.recv() 2018-02-10 12:44:09 +01:00
Lonami Exo
50515aa528 Merge branch 'master' into asyncio 2018-02-09 19:22:26 +01:00
Lonami Exo
bf56d32118 Add missing FutureSalts response special case (#81) 2018-01-30 18:32:42 +01:00
Lonami Exo
c5e969d585 Add more useful logging on invalid packet length received 2018-01-13 19:26:45 +01:00
Lonami Exo
d81dd055e6 Remove temporary connections and use a lock again
These seem to be the reason for missing some updates (#237)
2018-01-06 23:45:22 +01:00
Lonami Exo
3eafe18d0b Implement MtProto 2.0 (closes #484, thanks @delivrance!)
Huge shoutout to @delivrance's pyrogram, specially this commit:
pyrogram/pyrogram/commit/42f9a2d6994baaf9ecad590d1ff4d175a8c56454
2018-01-06 01:55:11 +01:00
Lonami Exo
2b9c06f0e6 Remove invalid self._logger calls since merge 2018-01-05 18:32:54 +01:00
Lonami Exo
a1d497a2c0 Merge branch 'master' into asyncio 2018-01-05 17:59:36 +01:00
Lonami Exo
c848ae0ace Move tgread_object() outside specific msg processing calls 2017-12-20 17:45:40 +01:00
Lonami Exo
5842d3741b Make a proper use of the logging module 2017-12-20 12:47:39 +01:00
Andrey Egorov
2f1d5e277e More accurate clear pendings 2017-12-12 21:22:42 +03:00
Andrey Egorov
7c0af2c080 Another attempt to prevent duplicates 2017-12-09 21:24:13 +03:00