kirr has uploaded this change for review.

View Change

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


To view, visit change 40084. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: Ie9fb076837afe8921b7c5f5022bfad41f7a30e48
Gerrit-Change-Number: 40084
Gerrit-PatchSet: 1
Gerrit-Owner: kirr <kirr@nexedi.com>
Gerrit-CC: fixeria <vyanitskiy@sysmocom.de>
Gerrit-CC: osmith <osmith@sysmocom.de>
Gerrit-CC: pespin <pespin@sysmocom.de>