kirr has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/40054?usp=email )
Change subject: trx_toolkit/udp_link: Switch UDPLink to cdef class ......................................................................
trx_toolkit/udp_link: Switch UDPLink to cdef class
- Put fields into the object struct; fields are now accessed directly via that C-level struct instead of via __dict__ lookup - cimport instead of import UDPLink at the users
Change-Id: I4768d06450873c3052ea29420848cf7a2752e474 --- M src/target/trx_toolkit/data_if.pyx M src/target/trx_toolkit/transceiver.pyx A src/target/trx_toolkit/udp_link.pxd M src/target/trx_toolkit/udp_link.pyx 4 files changed, 10 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/54/40054/1
diff --git a/src/target/trx_toolkit/data_if.pyx b/src/target/trx_toolkit/data_if.pyx index 396987e..8dcc4dc 100644 --- a/src/target/trx_toolkit/data_if.pyx +++ b/src/target/trx_toolkit/data_if.pyx @@ -20,7 +20,7 @@
import logging as log
-from udp_link import UDPLink +from udp_link cimport UDPLink from data_msg import *
class DATAInterface(UDPLink): diff --git a/src/target/trx_toolkit/transceiver.pyx b/src/target/trx_toolkit/transceiver.pyx index aaf3a90..519eb4b 100644 --- a/src/target/trx_toolkit/transceiver.pyx +++ b/src/target/trx_toolkit/transceiver.pyx @@ -23,7 +23,7 @@
from ctrl_if_trx import CTRLInterfaceTRX from data_if import DATAInterface -from udp_link import UDPLink +from udp_link cimport UDPLink from trx_list import TRXList
from gsm_shared import HoppingParams diff --git a/src/target/trx_toolkit/udp_link.pxd b/src/target/trx_toolkit/udp_link.pxd new file mode 100644 index 0000000..2d02497 --- /dev/null +++ b/src/target/trx_toolkit/udp_link.pxd @@ -0,0 +1,6 @@ +# cython: language_level=3 + +cdef class UDPLink: + cdef readonly object sock + cdef str remote_addr + cdef int remote_port diff --git a/src/target/trx_toolkit/udp_link.pyx b/src/target/trx_toolkit/udp_link.pyx index 779c0fc..ae90021 100644 --- a/src/target/trx_toolkit/udp_link.pyx +++ b/src/target/trx_toolkit/udp_link.pyx @@ -20,8 +20,8 @@
import socket
-class UDPLink: - def __init__(self, remote_addr, remote_port, bind_addr = '0.0.0.0', bind_port = 0): +cdef class UDPLink: + def __init__(self, str remote_addr, int remote_port, bind_addr = '0.0.0.0', bind_port = 0): self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) self.sock.bind((bind_addr, bind_port))