summaryrefslogtreecommitdiff
path: root/sleekxmpp/util/__init__.py
diff options
context:
space:
mode:
authorOleg Antonyan <oleg.b.antonyan@gmail.com>2014-11-27 07:11:06 +0200
committerOleg Antonyan <oleg.b.antonyan@gmail.com>2014-11-27 07:11:06 +0200
commitd261318e1a80b53abd677eb30f7bc5f91bae9dd6 (patch)
treee09a421bc50d6a79b9c64094be46b20ee9d2b422 /sleekxmpp/util/__init__.py
parent27582f6fd29e365253e7f3bf2e318a5403da9b73 (diff)
downloadslixmpp-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/__init__.py')
-rw-r--r--sleekxmpp/util/__init__.py9
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