diff options
author | Oleg Antonyan <oleg.b.antonyan@gmail.com> | 2014-11-27 07:11:06 +0200 |
---|---|---|
committer | Oleg Antonyan <oleg.b.antonyan@gmail.com> | 2014-11-27 07:11:06 +0200 |
commit | d261318e1a80b53abd677eb30f7bc5f91bae9dd6 (patch) | |
tree | e09a421bc50d6a79b9c64094be46b20ee9d2b422 /sleekxmpp/util | |
parent | 27582f6fd29e365253e7f3bf2e318a5403da9b73 (diff) | |
download | slixmpp-d261318e1a80b53abd677eb30f7bc5f91bae9dd6.tar.gz slixmpp-d261318e1a80b53abd677eb30f7bc5f91bae9dd6.tar.bz2 slixmpp-d261318e1a80b53abd677eb30f7bc5f91bae9dd6.tar.xz slixmpp-d261318e1a80b53abd677eb30f7bc5f91bae9dd6.zip |
In queues added option to remove first element on addind new if queue is
full
Diffstat (limited to 'sleekxmpp/util')
-rw-r--r-- | sleekxmpp/util/__init__.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sleekxmpp/util/__init__.py b/sleekxmpp/util/__init__.py index 05286d33..47a935af 100644 --- a/sleekxmpp/util/__init__.py +++ b/sleekxmpp/util/__init__.py @@ -32,12 +32,17 @@ def _gevent_threads_enabled(): if _gevent_threads_enabled(): import gevent.queue as queue - Queue = queue.JoinableQueue + _queue = queue.JoinableQueue else: try: import queue except ImportError: import Queue as queue - Queue = queue.Queue + _queue = queue.Queue +class Queue(_queue): + def put(self, item, block=True, timeout=None): + if _queue.full(self): + _queue.get(self) + return _queue.put(self, item, block, timeout) QueueEmpty = queue.Empty |