summaryrefslogtreecommitdiff
path: root/gr-sbhs/python/que.py
diff options
context:
space:
mode:
Diffstat (limited to 'gr-sbhs/python/que.py')
-rw-r--r--gr-sbhs/python/que.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/gr-sbhs/python/que.py b/gr-sbhs/python/que.py
new file mode 100644
index 000000000..f5031a131
--- /dev/null
+++ b/gr-sbhs/python/que.py
@@ -0,0 +1,35 @@
+# Data Acquisition list based queue
+
+class Queue:
+ """A sample implementation of a First-In-First-Out
+ data structure."""
+ def __init__(self, length):
+
+ # Initializes with empty zeros
+ self.queue = [0] * length
+ self.length = length
+
+ def push(self,obj):
+ if len(self.queue) < self.length:
+ self.queue.append(obj)
+ else:
+ print "Queue full"
+ ### To discard first in queue and append obj anyway ###
+ #self.queue.pop(0)
+ #self.queue.append(obj)
+ def pop(self):
+ try:
+ return (self.queue.pop(0))
+ except:
+ print "queue empty"
+
+ def size(self):
+ return len(self.queue)
+
+ def discard(self):
+ self.queue=[]
+
+ def flush(self):
+ self.return_queue = self.queue
+ self.queue = []
+ return(self.return_queue)