pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/39486?usp=email )
Change subject: RAN_Adapter: Allow creating components alive ......................................................................
RAN_Adapter: Allow creating components alive
Change-Id: Ice4d93b42552f1c5d621582b1fc3a38b4e1ae837 --- M library/RAN_Adapter.ttcnpp 1 file changed, 36 insertions(+), 8 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/86/39486/1
diff --git a/library/RAN_Adapter.ttcnpp b/library/RAN_Adapter.ttcnpp index c90ffce..173cc46 100644 --- a/library/RAN_Adapter.ttcnpp +++ b/library/RAN_Adapter.ttcnpp @@ -86,15 +86,23 @@
function f_ran_adapter_init(inout RAN_Adapter ba, in RAN_Configuration cfg, charstring id, - template RanOps ops) { + template RanOps ops, boolean create_alive := false) { init_pars(ba, cfg); ops.sccp_addr_local := ba.sccp_addr_own; ops.sccp_addr_peer := ba.sccp_addr_peer;
/* create components */ - ba.vc_SCCP := SCCP_CT.create(id & "-SCCP"); + if (create_alive) { + ba.vc_SCCP := SCCP_CT.create(id & "-SCCP") alive; + } else { + ba.vc_SCCP := SCCP_CT.create(id & "-SCCP"); + } if (isvalue(ops)) { - ba.vc_RAN := RAN_Emulation_CT.create(id & "-RAN"); + if (create_alive) { + ba.vc_RAN := RAN_Emulation_CT.create(id & "-RAN") alive; + } else { + ba.vc_RAN := RAN_Emulation_CT.create(id & "-RAN"); + } } else { ba.vc_RAN := null; } @@ -106,7 +114,11 @@ } else { rctx := cfg.rctx; } - ba.vc_M3UA := M3UA_CT.create(id & "-M3UA"); + if (create_alive) { + ba.vc_M3UA := M3UA_CT.create(id & "-M3UA") alive; + } else { + ba.vc_M3UA := M3UA_CT.create(id & "-M3UA"); + } map(ba.vc_M3UA:SCTP_PORT, system:sctp); /* connect MTP3 service provider (M3UA) to lower side of SCCP */ connect(ba.vc_M3UA:MTP3_SP_PORT, ba.vc_SCCP:MTP3_SCCP_PORT); @@ -114,12 +126,20 @@ } #ifdef IPA_EMULATION_SCCP case (BSSAP_TRANSPORT_SCCPlite_SERVER) { - ba.vc_IPA := IPA_Emulation_CT.create(id & "-IPA"); + if (create_alive) { + ba.vc_IPA := IPA_Emulation_CT.create(id & "-IPA") alive; + } else { + ba.vc_IPA := IPA_Emulation_CT.create(id & "-IPA"); + } map(ba.vc_IPA:IPA_PORT, system:IPA_CODEC_PT); /* connect MTP3 service provider (IPA) to lower side of SCCP */ connect(ba.vc_IPA:MTP3_SP_PORT, ba.vc_SCCP:MTP3_SCCP_PORT); /* connect waiter to general IPA port (for ASP_IPA_Event) */ - ba.vc_WAIT := IPA_EventWaiter_CT.create(id & "-IPA-WAIT"); + if (create_alive) { + ba.vc_WAIT := IPA_EventWaiter_CT.create(id & "-IPA-WAIT") alive; + } else { + ba.vc_WAIT := IPA_EventWaiter_CT.create(id & "-IPA-WAIT"); + } connect(ba.vc_IPA:IPA_SP_PORT, ba.vc_WAIT:IPA_SP_PORT); ba.vc_WAIT.start(IPA_Emulation.waiter_main()); ba.vc_IPA.start(IPA_Emulation.main_server(cfg.sctp_addr.local_ip_addr, @@ -130,12 +150,20 @@ disconnect(ba.vc_IPA:IPA_SP_PORT, ba.vc_WAIT:IPA_SP_PORT); } case (BSSAP_TRANSPORT_SCCPlite_CLIENT) { - ba.vc_IPA := IPA_Emulation_CT.create(id & "-IPA"); + if (create_alive) { + ba.vc_IPA := IPA_Emulation_CT.create(id & "-IPA") alive; + } else { + ba.vc_IPA := IPA_Emulation_CT.create(id & "-IPA"); + } map(ba.vc_IPA:IPA_PORT, system:IPA_CODEC_PT); /* connect MTP3 service provider (IPA) to lower side of SCCP */ connect(ba.vc_IPA:MTP3_SP_PORT, ba.vc_SCCP:MTP3_SCCP_PORT); /* connect waiter to general IPA port (for ASP_IPA_Event) */ - ba.vc_WAIT := IPA_EventWaiter_CT.create(id & "-IPA-WAIT"); + if (create_alive) { + ba.vc_WAIT := IPA_EventWaiter_CT.create(id & "-IPA-WAIT") alive; + } else { + ba.vc_WAIT := IPA_EventWaiter_CT.create(id & "-IPA-WAIT"); + } connect(ba.vc_IPA:IPA_SP_PORT, ba.vc_WAIT:IPA_SP_PORT); ba.vc_WAIT.start(IPA_Emulation.waiter_main()); ba.vc_IPA.start(IPA_Emulation.main_client(cfg.sctp_addr.remote_ip_addr,