bts: Add f_rsl_transceive() flag to ignore all unrelated messages
f_rsl_transceive() is currently using a number of default altsteps, but those are not applicable in all cases. Let's make this configurable, and use that flag during channel release. Change-Id: I34d8e9350dbe2b032a7454d7f003262e27c802ad
This commit is contained in:
parent
629cc6b77a
commit
21240e63f9
|
@ -392,7 +392,8 @@ runs on ConnHdlr {
|
|||
fn.apply(id);
|
||||
}
|
||||
|
||||
function f_rsl_transceive(template RSL_Message tx, template RSL_Message exp_rx, charstring id)
|
||||
function f_rsl_transceive(template RSL_Message tx, template RSL_Message exp_rx, charstring id,
|
||||
boolean ignore_other := false)
|
||||
runs on ConnHdlr {
|
||||
timer T := 3.0;
|
||||
RSL.send(tx);
|
||||
|
@ -406,12 +407,13 @@ runs on ConnHdlr {
|
|||
setverdict(fail, "Timeout expecting " & id);
|
||||
self.stop;
|
||||
}
|
||||
[] as_l1_sacch();
|
||||
[] as_meas_res();
|
||||
[] as_l1_dcch();
|
||||
[] RSL.receive {
|
||||
[not ignore_other] as_l1_sacch();
|
||||
[not ignore_other] as_meas_res();
|
||||
[not ignore_other] as_l1_dcch();
|
||||
[not ignore_other] RSL.receive {
|
||||
setverdict(fail, "Unexpected RSL message received");
|
||||
}
|
||||
[ignore_other] RSL.receive { repeat; }
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -422,7 +424,7 @@ function f_rsl_chan_act(RSL_IE_ChannelMode mode) runs on ConnHdlr {
|
|||
|
||||
function f_rsl_chan_deact() runs on ConnHdlr {
|
||||
f_rsl_transceive(ts_RSL_RF_CHAN_REL(g_chan_nr), tr_RSL_RF_CHAN_REL_ACK(g_chan_nr),
|
||||
"RF CHAN REL");
|
||||
"RF CHAN REL", true);
|
||||
}
|
||||
|
||||
private template ConnHdlrPars t_Pars(template RslChannelNr chan_nr,
|
||||
|
|
Loading…
Reference in New Issue