RSL_Emulation: Add second RSL/RSL_PROC port for hand-over cases
Also, extend RSLEM_{register,unregister}() with an optional third
argiment, so the RSL_DchanHdlr can register 'expect' also for
that secondary BTS/port during hand-over
Change-Id: Ic22778f17dc4b93ef54837cf400ddd7d1732ae7e
diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn
index d20718f..f45b425 100644
--- a/library/RSL_Emulation.ttcn
+++ b/library/RSL_Emulation.ttcn
@@ -33,6 +33,9 @@
port RSL_DCHAN_PT RSL;
port RSLEM_PROC_PT RSL_PROC;
var RslChannelNr g_chan_nr;
+ /* second BTS / DChan during hand-over */
+ port RSL_DCHAN_PT RSL1;
+ port RSLEM_PROC_PT RSL1_PROC;
};
type record RSLDC_ChanRqd {
@@ -402,16 +405,18 @@
}
/* client/conn_hdlr side function to use procedure port to register stream_id/chan_nr */
-function f_rslem_register(uint8_t trx_nr, RslChannelNr chan_nr) runs on RSL_DchanHdlr {
- RSL_PROC.call(RSLEM_register:{trx_nr, chan_nr, self}) {
- [] RSL_PROC.getreply(RSLEM_register:{?,?,?}) {};
+function f_rslem_register(uint8_t trx_nr, RslChannelNr chan_nr, RSLEM_PROC_PT PT := RSL_PROC)
+runs on RSL_DchanHdlr {
+ PT.call(RSLEM_register:{trx_nr, chan_nr, self}) {
+ [] PT.getreply(RSLEM_register:{?,?,?}) {};
}
}
/* client/conn_hdlr side function to use procedure port to unregister stream_id/chan_nr */
-function f_rslem_unregister(uint8_t trx_nr, RslChannelNr chan_nr) runs on RSL_DchanHdlr {
- RSL_PROC.call(RSLEM_unregister:{trx_nr, chan_nr, self}) {
- [] RSL_PROC.getreply(RSLEM_unregister:{?,?,?}) {};
+function f_rslem_unregister(uint8_t trx_nr, RslChannelNr chan_nr, RSLEM_PROC_PT PT := RSL_PROC)
+runs on RSL_DchanHdlr {
+ PT.call(RSLEM_unregister:{trx_nr, chan_nr, self}) {
+ [] PT.getreply(RSLEM_unregister:{?,?,?}) {};
}
}