Commit Graph
31 Commits
Author SHA1 Message Date
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