Commit Graph

367 Commits

Author SHA1 Message Date
Lonami Exo
3c7dd25982 Revert "if * is None" check (8bff10d) on get_input_* due to 423efc4 2017-09-29 12:02:26 +02:00
Lonami Exo
dc5bbc1719 Update to v0.14.1 2017-09-28 12:02:47 +02:00
Lonami Exo
cc337328c6 Rename handmade Message class to TLMessage to avoid confusion 2017-09-28 11:59:24 +02:00
Lonami Exo
71c2a82b3d Completely remove BinaryWriter from the project 2017-09-28 11:49:45 +02:00
Lonami Exo
2fd03e5422 Stop using BinaryWriter on MtProtoPlainSender 2017-09-28 11:43:06 +02:00
Lonami Exo
fe30f63d5d Use autogen code on the authenticator instead hardcoding requests 2017-09-28 11:36:51 +02:00
Lonami Exo
fb0898b9cb Don't distinguish between str and bytes when serializing
This makes it easier to use some requests like ReqPqRequest which
needs a string of bytes, not a valid utf-8 string per se.
2017-09-28 09:55:29 +02:00
Lonami Exo
1518be0b95 Use .appendleft(x) for deque instead .insert(0, x) (fix #268) 2017-09-28 09:30:47 +02:00
Lonami Exo
c667a00281 Avoid using BinaryWriter where possible 2017-09-27 21:23:59 +02:00
Lonami Exo
8a605f21e6 Remove BinaryWriter dependency on MessageContainer 2017-09-27 21:06:01 +02:00
Lonami Exo
833aeb86eb Fix auth_key is unsigned 2017-09-27 21:04:52 +02:00
Lonami Exo
bd3dd371a2 Create a proper Message class (msg_id, seqno, body; only .to_bytes()) 2017-09-27 21:01:20 +02:00
Lonami Exo
b0839a028e Update to v0.14 2017-09-27 13:51:59 +02:00
Lonami Exo
795cb98909 Move MessageContainer.on_send inside its .to_bytes 2017-09-27 13:49:58 +02:00
Lonami Exo
6df9fc558e Create and use a new GzipPacked class, also when sending 2017-09-27 13:46:53 +02:00
Lonami Exo
7b736aa6ef Fix MessageContainer having the wrong constructor id 2017-09-27 13:46:02 +02:00
Lonami Exo
efca981312 Fix adding a request twice (or container) to ._pending_receive 2017-09-27 13:26:35 +02:00
Lonami Exo
0c11967232 Remove unused .shaes attribute from CdnDecrypter 2017-09-27 12:11:16 +02:00
Lonami Exo
657e8a70c9 Fix CdnDecrypter incorrectly accessing clients' timeout (closes #265) 2017-09-27 12:08:37 +02:00
Lonami Exo
98c2e1dd4f Replace 4 .append calls with a single one when serializing bytes 2017-09-26 14:41:11 +02:00
Lonami Exo
b83cd98ba0 Replace TLObject.on_send with the new .to_bytes()
This also replaces some int.to_bytes() calls with a faster
struct.pack (up to x4 faster). This approach is also around
x3 faster than creating a BinaryWriter just to serialize a
TLObject as bytes.
2017-09-26 14:36:02 +02:00
Lonami Exo
f233110732 Allow sending several requests at once through new MessageContainer 2017-09-25 20:52:27 +02:00
Lonami Exo
1d50bba8bc Add get_input_* methods for Media and such 2017-09-25 13:43:03 +02:00
Lonami Exo
edcd23f94c Making timeout when reporting an error shorter 2017-09-25 12:00:09 +02:00
Lonami Exo
493f5cec1f Fix-up target method typo 2017-09-25 11:57:42 +02:00
Lonami Exo
01c91bb895 Report errors in the background not to interfer with users (#262) 2017-09-25 11:56:44 +02:00
Lonami Exo
c0ee123156 Add a small sleep when trying to reconnect forever 2017-09-25 11:04:09 +02:00
Lonami Exo
0f10e1419f Update to v0.13.6 2017-09-23 11:44:04 +02:00
Lonami Exo
b04607e7ba Ignore requests invoked from ReadThread instead raising
Any unhandled exception on the ReadThread would cause it to stop,
and handling the exception to the main thread on the next invoke
or poll. Instead causing the thread to stop, simply ignore it.
2017-09-23 11:31:58 +02:00
Lonami Exo
80e9877256 Show the type of children TLObjects on .stringify() 2017-09-23 11:01:25 +02:00
Andrey Egorov
73fbfde7ef Process messages without pts 2017-09-22 23:14:31 +02:00
Lonami Exo
f39f9c33a0 Fix timeout on confirm_received.wait not being added (fix #257) 2017-09-22 19:20:37 +02:00
Lonami Exo
9ce4307304 Update to v0.13.5 2017-09-22 16:12:43 +02:00
Lonami Exo
b0f6b23e52 Fix creating new connections accessing invalid attributes 2017-09-22 16:11:07 +02:00
Lonami Exo
bfa3001f87 Fix MainThread would lock when reconnecting
This is because it was thinking that the ReadThread would be
ready to read the result, but actually, this thread is also
locked trying to reconnect at the same time
2017-09-22 16:02:10 +02:00
Lonami Exo
9dfb5d493c Fix BrokenPipeError was instance of OSError 2017-09-22 13:51:11 +02:00
Lonami Exo
4a8e5c865a Detect BrokenAuthKeyError on MtProtoSender._decode_msg 2017-09-22 13:32:00 +02:00
Lonami Exo
a992f42781 Attempt at fixing socket is None on .connect() 2017-09-22 13:14:56 +02:00
Lonami Exo
6d60e83adc Start background thread only if it was None 2017-09-22 13:13:41 +02:00
Lonami Exo
d8bf8bb2eb Fix reconnect always returning False -> infinite loop 2017-09-22 12:48:04 +02:00
Lonami Exo
4d5f16f2aa Fix background thread could not reconnect properly 2017-09-22 12:44:09 +02:00
Lonami Exo
4245ec5abc Make reconnect private 2017-09-22 12:31:41 +02:00
Lonami Exo
bc15b451b5 Use a safer reconnect behaviour (respect multithread too) 2017-09-22 12:20:38 +02:00
Lonami Exo
ffadcd029f Save the session much less often (doable because 151e162) 2017-09-21 19:12:46 +02:00
Lonami Exo
12c6d4d3ac Start the background thread only if the user is authorized 2017-09-21 15:36:20 +02:00
Lonami Exo
4ba12e717f Fix reconnect to new_dc wasn't changing connection.ip 2017-09-21 13:58:57 +02:00
Lonami Exo
7f83a6109f Fix authenticator was disconnecting when it shouldn't 2017-09-21 13:54:44 +02:00
Lonami Exo
2b2da843a1 Create a Connection only once and avoid no-op if was "connected" 2017-09-21 13:44:22 +02:00
Lonami Exo
4777b8dad4 Handle .connect() method more gracefully 2017-09-21 13:44:22 +02:00
Sergey
446174c7de Catching WinError 10038
While client.connect() there were OSError: [WinError 10038] an operation was attempted on something that is not a socket
2017-09-21 13:37:13 +02:00