aboutsummaryrefslogtreecommitdiffstats
path: root/Transceiver52M/radioVector.h
diff options
context:
space:
mode:
authorThomas Tsou <ttsou@vt.edu>2012-02-28 15:41:50 -0500
committerAlexander Chemeris <Alexander.Chemeris@gmail.com>2013-06-24 01:50:59 +0400
commit996f426c16d7cf804fc6692e4eb4c59589e82691 (patch)
tree1afb953de58ca51662f33df3abbfddf0838d47d2 /Transceiver52M/radioVector.h
parent711e6afddf46a3ad231521ff44836b0613a17743 (diff)
multi-arfcn, trx: split transceiver to handle multiple channels
This patch separates the 'Transceiver' into a multi-channel I/O component and single channel component. The latter may may have multiple instances. The receive FIFO is converted to a thread-safe queue. The 'TransceiverIO' continuously drives the receive and transmit loops. In this process, bursts are driven into thread-safe FIFO's and read from the priority queues. Filler bursts are inserted if no transmit data is available. Each 'Transceiver' instance attaches to the I/O object and creates its own threads and sockets, which include blocking on the receive FIFO for the attached channel. Each instance also handles its own control loop and clock indications. Signed-off-by: Thomas Tsou <ttsou@vt.edu>
Diffstat (limited to 'Transceiver52M/radioVector.h')
-rw-r--r--Transceiver52M/radioVector.h11
1 files changed, 2 insertions, 9 deletions
diff --git a/Transceiver52M/radioVector.h b/Transceiver52M/radioVector.h
index 8de4493..c41a8a8 100644
--- a/Transceiver52M/radioVector.h
+++ b/Transceiver52M/radioVector.h
@@ -2,7 +2,7 @@
* Written by Thomas Tsou <ttsou@vt.edu>
* Based on code by Harvind S Samra <hssamra@kestrelsp.com>
*
- * Copyright 2011 Free Software Foundation, Inc.
+ * Copyright 2011, 2012 Free Software Foundation, Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -37,14 +37,7 @@ private:
GSM::Time mTime;
};
-class VectorFIFO {
-public:
- unsigned size();
- void put(radioVector *ptr);
- radioVector *get();
-
-private:
- PointerFIFO mQ;
+class VectorFIFO : public InterthreadQueue<radioVector> {
};
class VectorQueue : public InterthreadPriorityQueue<radioVector> {