diff options
author | Thomas Tsou <ttsou@vt.edu> | 2012-02-28 15:41:50 -0500 |
---|---|---|
committer | Alexander Chemeris <Alexander.Chemeris@gmail.com> | 2013-06-24 01:50:59 +0400 |
commit | 996f426c16d7cf804fc6692e4eb4c59589e82691 (patch) | |
tree | 1afb953de58ca51662f33df3abbfddf0838d47d2 /Transceiver52M/radioVector.cpp | |
parent | 711e6afddf46a3ad231521ff44836b0613a17743 (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.cpp')
-rw-r--r-- | Transceiver52M/radioVector.cpp | 17 |
1 files changed, 1 insertions, 16 deletions
diff --git a/Transceiver52M/radioVector.cpp b/Transceiver52M/radioVector.cpp index f20d97a..dcdb375 100644 --- a/Transceiver52M/radioVector.cpp +++ b/Transceiver52M/radioVector.cpp @@ -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 @@ -41,21 +41,6 @@ bool radioVector::operator>(const radioVector& other) const return mTime > other.mTime; } -unsigned VectorFIFO::size() -{ - return mQ.size(); -} - -void VectorFIFO::put(radioVector *ptr) -{ - mQ.put((void*) ptr); -} - -radioVector *VectorFIFO::get() -{ - return (radioVector*) mQ.get(); -} - GSM::Time VectorQueue::nextTime() const { GSM::Time retVal; |