diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2021-06-08 16:33:54 +0200 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2021-06-10 16:15:35 +0200 |
commit | b96ea3c97f90a9f7e04f7bb1d8b3d61e42549d73 (patch) | |
tree | 80ced12662990a41a4e5cb2b6d78c14f9fa3cbb6 | |
parent | f1b0bf5b2f5ebe2c0b372fa858ea7850c93d5b36 (diff) |
gsm_data.h: add comments about immutable activ/modif/assign request info
Change-Id: I7997b802d997073ae6a05db2f40e82cb8e83764f
-rw-r--r-- | include/osmocom/bsc/gsm_data.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index dccf5a144..d3d5b7dee 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -177,7 +177,13 @@ struct assignment_request { * currently used lchan and gscon unmodified until the outcome of an Assignment is known. If the Assignment fails, this * state is simply discarded, and the gscon carries on with the original lchan remaining unchanged. */ struct assignment_fsm_data { + /* The request as made by the caller, see GSCON_EV_ASSIGNMENT_START or reassignment_request_to_lchan() / + * reassignment_request_to_chan_type(). + * conn->assignment.req is treated immutable: remains unchanged throughout the Assignment. The mutable fields + * are below: choices and automatic adjustments are stored in conn->assignment.*, not conn->assignment.req. + */ struct assignment_request req; + bool requires_voice_stream; struct channel_mode_and_rate selected_ch_mode_rate; @@ -647,7 +653,13 @@ struct gsm_lchan { struct osmo_mgcpc_ep_ci *mgw_endpoint_ci_bts; struct { + /* The request as made by the caller, see lchan_activate(). + * lchan->activate.info is treated immutable: remains unchanged throughout the Activation. + * The mutable versions are below: some values need automatic adjustments, in which case they are copied + * from immutable lchan->activate.info.* to lchan->activate.*, for example lchan->activate.ch_mode_rate + * is initially a copy of lchan->activate.info.ch_mode_rate, and is possibly adjusted afterwards. */ struct lchan_activate_info info; + struct channel_mode_and_rate ch_mode_rate; struct gsm48_multi_rate_conf mr_conf_filtered; bool activ_ack; /*< true as soon as RSL Chan Activ Ack is received */ @@ -662,7 +674,13 @@ struct gsm_lchan { } activate; struct { + /* The request as made by the caller, see lchan_mode_modify(). + * lchan->modify.info is treated immutable: remains unchanged throughout the Mode Modify. + * The mutable versions are below: some values need automatic adjustments, in which case they are copied + * from immutable lchan->modify.info.* to lchan->modify.*, for example lchan->modify.ch_mode_rate + * is initially a copy of lchan->modify.info.ch_mode_rate, and is possibly adjusted afterwards. */ struct lchan_modify_info info; + struct channel_mode_and_rate ch_mode_rate; struct gsm48_multi_rate_conf mr_conf_filtered; int tsc_set; |