fixeria has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/36611?usp=email )


Change subject: library/RSL_Emulation: make use of IpaUnitId codec
......................................................................

library/RSL_Emulation: make use of IpaUnitId codec

Change-Id: I20e1ac35707affc6aab60397a22e33fe2bd1106e
---
M library/RSL_Emulation.ttcn
1 file changed, 19 insertions(+), 20 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/11/36611/1

diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn
index 891e565..17e35ab 100644
--- a/library/RSL_Emulation.ttcn
+++ b/library/RSL_Emulation.ttcn
@@ -370,9 +370,7 @@

 private function f_trx_conn_map_register(integer conn_id, in IpaCcmIdResp 
id_resp)
 runs on RSL_Emulation_CT return IpaStreamId {
-       var template charstring unit_id_fmt := pattern "(\d+)/(\d+)/(\d+)";
-       var charstring unit_id;
-       var integer trx_nr;
+       var IpaUnitId unit_id;
        var integer idx;

        /* Check if we have room for a new connection */
@@ -386,29 +384,21 @@
                testcase.stop("IPA IDENTITY RESPONSE contains no unit-id");
        }

-       /* Make sure that IPA unit-id is valid */
-       unit_id := oct2char(id_resp[idx].data);
-       if (not match(unit_id, unit_id_fmt)) {
-               testcase.stop("IPA unit-id has unknown/unexpected format");
-       }
+       /* Parse IPA unit-id */
+       unit_id := dec_IpaUnitId(oct2char(id_resp[idx].data));

-       /* Parse transceiver number (site/bts/trx).
-        * TODO: implement and use declaratice types. */
-       unit_id := regexp(unit_id, unit_id_fmt, 2);
-       trx_nr  := str2int(unit_id);
-
-       if (trx_nr >= sizeof(TrxConnMap)) {
-               testcase.stop("Transceiver #", trx_nr, " does not fit");
-       } else if (TrxConnMap[trx_nr] != -1) {
-               testcase.stop("Transceiver #", trx_nr, " is already 
connected?!?");
+       if (unit_id.trx_id >= sizeof(TrxConnMap)) {
+               testcase.stop("Transceiver #", unit_id.trx_id, " does not fit");
+       } else if (TrxConnMap[unit_id.trx_id] != -1) {
+               testcase.stop("Transceiver #", unit_id.trx_id, " is already 
connected?!?");
        }

        /* Finally, store the connection ID */
-       log("Mapped TRX#", trx_nr, " to TCP/IP conn_id=", conn_id);
-       TrxConnMap[trx_nr] := conn_id;
+       log("Mapped TRX#", unit_id.trx_id, " to TCP/IP conn_id=", conn_id);
+       TrxConnMap[unit_id.trx_id] := conn_id;
        TrxConnNum := TrxConnNum + 1;

-       return f_streamId_by_trx(trx_nr);
+       return f_streamId_by_trx(unit_id.trx_id);
 }

 private function f_trx_conn_map_unregister(integer conn_id)

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/36611?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I20e1ac35707affc6aab60397a22e33fe2bd1106e
Gerrit-Change-Number: 36611
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanits...@sysmocom.de>
Gerrit-MessageType: newchange

Reply via email to