kirr has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/40084?usp=email )
Change subject: trx_toolkit/transceiver: Switch Transceiver ._rx_freq ._tx_freq from object to int ......................................................................
trx_toolkit/transceiver: Switch Transceiver ._rx_freq ._tx_freq from object to int
This are integer fields, assigning C-level type avoids py-related overhead on access and arithmetics. This fields are frequently used by BurstForwarder when checking if src and dst trx frequencies match each other.
Change-Id: Ie9fb076837afe8921b7c5f5022bfad41f7a30e48 --- M src/target/trx_toolkit/transceiver.pxd M src/target/trx_toolkit/transceiver.pyx 2 files changed, 9 insertions(+), 9 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/84/40084/1
diff --git a/src/target/trx_toolkit/transceiver.pxd b/src/target/trx_toolkit/transceiver.pxd index 562cb34..fa025bb 100644 --- a/src/target/trx_toolkit/transceiver.pxd +++ b/src/target/trx_toolkit/transceiver.pxd @@ -26,8 +26,8 @@ object child_trx_list # TRXList
# Actual RX / TX frequencies - object _rx_freq # None if unset - object _tx_freq # None if unset + int _rx_freq # -1 if unset + int _tx_freq # -1 if unset
bint rf_muted
@@ -47,8 +47,8 @@ list[TxMsg] _tx_queue
- cdef get_rx_freq(self, int64_t fn) - cpdef get_tx_freq(self, int64_t fn) + cdef int get_rx_freq(self, int64_t fn) except -1 + cpdef int get_tx_freq(self, int64_t fn) except -1
cdef TxMsg recv_data_msg(self) cdef send_data_msg(self, RxMsg msg) diff --git a/src/target/trx_toolkit/transceiver.pyx b/src/target/trx_toolkit/transceiver.pyx index b28dee8..901a637 100644 --- a/src/target/trx_toolkit/transceiver.pyx +++ b/src/target/trx_toolkit/transceiver.pyx @@ -143,8 +143,8 @@ """
def __cinit__(self): - self._rx_freq = None - self._tx_freq = None + self._rx_freq = -1 + self._tx_freq = -1 self.rf_muted = False self.running = False
@@ -206,14 +206,14 @@ @property def ready(self): # Make sure that either both Rx/Tx frequencies are set - if self._rx_freq is None or self._tx_freq is None: + if self._rx_freq < 0 or self._tx_freq < 0: # ... or frequency hopping is in use if self.fh is None: return False
return True
- cdef get_rx_freq(self, int64_t fn): + cdef int get_rx_freq(self, int64_t fn) except -1: if self.fh is None: return self._rx_freq
@@ -221,7 +221,7 @@ (rx_freq, _) = self.fh.resolve(fn) return rx_freq
- cpdef get_tx_freq(self, int64_t fn): + cpdef int get_tx_freq(self, int64_t fn) except -1: if self.fh is None: return self._tx_freq