Lonami Exo
f09ab6c6b6
Fix-up 771c573
to properly stop background update workers
...
The "special" StopIteration object didn't actually make any sense.
Instead looping forever, workers now loop while there are workers,
so that they stop looping once the count is cleared.
Dummy values are still inserted so that they don't need to timeout
on the queue before exiting (these values are None) so in essence,
this keeps the best of both of worlds.
2018-03-01 20:13:21 +01:00
Lonami Exo
771c573db1
Better attempt at joining update worker threads
2018-03-01 13:31:39 +01:00
Lonami Exo
b93e1b5f50
Add add_event_handler and deprecate add_update_handler
2018-02-18 13:29:05 +01:00
Lonami Exo
fd08d53253
Trust the server will not send duplicates
...
This change was also suggested by the test on the previous commit.
2018-02-03 15:42:43 +01:00
Lonami Exo
5842d3741b
Make a proper use of the logging module
2017-12-20 12:47:39 +01:00
Lonami Exo
6662f49bcb
Remove another redundant if
2017-11-30 21:10:02 +01:00
Lonami Exo
21a93d58ec
Use a synchronized queue instead event/deque pair
2017-11-30 21:09:34 +01:00
Lonami Exo
7d7b2cb1fa
Remove redundant checks from UpdateState
2017-11-30 20:40:35 +01:00
Lonami Exo
c6d30ffceb
Fix exception when logging exceptions
2017-10-25 13:06:51 +02:00
Lonami Exo
f4b8772a85
Temporary fix for abusive duplicated updates ( closes #336 )
2017-10-14 11:37:47 +02:00
Lonami Exo
4fd9d361f0
Replace redundant isinstance calls with a tuple parameter
2017-10-13 11:39:34 +02:00
Lonami Exo
d98fd6a424
Fix workers not stopping on .disconnect(), start them on login
2017-10-01 19:56:24 +02:00
Lonami Exo
1ded6d9d06
Expand Updates into Update objects before calling handlers
2017-10-01 16:30:27 +02:00
Lonami Exo
f1bca0fd06
Fix setting None update workers not causing all threads to stop
2017-09-30 18:44:37 +02:00
Lonami Exo
8c3c990e74
Remove UpdateState .set and .check error
2017-09-30 18:39:31 +02:00
Lonami Exo
a3ae56ca9e
Use a timeout when worker threads are polling
2017-09-30 11:21:07 +02:00
Lonami Exo
7cef5885fa
Rename process_updates/polling to workers
2017-09-30 11:17:31 +02:00
Lonami Exo
72b7e99222
Ensure the worker threads have updates once they acquire the lock
2017-09-30 10:59:33 +02:00
Lonami Exo
b87a798dd5
Spawn new worker threads to handle updates instead using ReadThread
2017-09-30 10:27:46 +02:00
Lonami Exo
ee08232473
Fix UpdateState.check_error popping the wrong side
2017-09-30 10:27:16 +02:00
Lonami Exo
1518be0b95
Use .appendleft(x) for deque instead .insert(0, x) ( fix #268 )
2017-09-28 09:30:47 +02:00
Andrey Egorov
73fbfde7ef
Process messages without pts
2017-09-22 23:14:31 +02:00
Lonami Exo
1d3273a306
Fix UpdateState calling handlers with updates with lower pts
2017-09-19 13:17:40 +02:00
Lonami Exo
0235fce99c
Don't hold ._updates_lock while calling .handlers
2017-09-18 11:01:15 +02:00
Lonami Exo
143e046cf5
Attempt at passing errors to the main thread through .updates
2017-09-18 10:59:54 +02:00
Lonami Exo
bce88446ef
Fix incorrect condition causing updates to be ignored
2017-09-08 18:43:37 +02:00
Lonami Exo
c81537bed0
Simplify the workflow with UpdateState exposing a single flag param
2017-09-08 12:54:38 +02:00
Lonami Exo
a24b4020fe
Allow adding update handlers without the need to poll updates
2017-09-07 20:29:51 +02:00
Lonami Exo
b8e881b6b6
Add basic updates processing to ignore updates with lower .pts
2017-09-07 20:17:40 +02:00
Lonami Exo
d237375208
Allow adding callback methods to UpdateState
2017-09-07 18:58:54 +02:00
Lonami Exo
d4f36162cd
Create and use UpdateState to .process() unhandled TLObjects
2017-09-07 18:49:08 +02:00