<p>Max has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/13244">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">TBF-DL: cosmetic update for helper routines<br><br>* use enum values where appropriate<br>* reformat to proper code style to improve readability<br><br>Change-Id: If1d2bc69b0d43fc520e579457007704b7975117e<br>---<br>M src/tbf_dl.cpp<br>1 file changed, 32 insertions(+), 38 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/44/13244/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp</span><br><span>index 04c6499..08df05a 100644</span><br><span>--- a/src/tbf_dl.cpp</span><br><span>+++ b/src/tbf_dl.cpp</span><br><span>@@ -688,7 +688,7 @@</span><br><span> * the current limit.</span><br><span> */</span><br><span> cs = m_rlc.block(index)->cs_current_trans;</span><br><span style="color: hsl(0, 100%, 40%);">- GprsCodingScheme &cs_init = m_rlc.block(index)->cs_init;</span><br><span style="color: hsl(120, 100%, 40%);">+ enum CodingScheme cs_init = m_rlc.block(index)->cs_init;</span><br><span> bsns[0] = index;</span><br><span> num_bsns = 1;</span><br><span> </span><br><span>@@ -702,11 +702,10 @@</span><br><span> * if the intial mcs is 8 and retransmission mcs is either 6 or 3</span><br><span> * we have to include the padding of 6 octets in first segment</span><br><span> */</span><br><span style="color: hsl(0, 100%, 40%);">- if ((CodingScheme(cs_init) == MCS8) &&</span><br><span style="color: hsl(0, 100%, 40%);">- (CodingScheme(cs) == MCS6 ||</span><br><span style="color: hsl(0, 100%, 40%);">- CodingScheme(cs) == MCS3)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if ((cs_init == MCS8) &&</span><br><span style="color: hsl(120, 100%, 40%);">+ (cs == MCS6 || cs == MCS3)) {</span><br><span> if (spb_status == EGPRS_RESEG_DL_DEFAULT ||</span><br><span style="color: hsl(0, 100%, 40%);">- spb_status == EGPRS_RESEG_SECOND_SEG_SENT)</span><br><span style="color: hsl(120, 100%, 40%);">+ spb_status == EGPRS_RESEG_SECOND_SEG_SENT)</span><br><span> need_padding = true;</span><br><span> } else if (num_bsns == 1) {</span><br><span> /* TODO: remove the conditional when MCS-6 padding isn't</span><br><span>@@ -1248,8 +1247,12 @@</span><br><span> egprs_rlc_dl_reseg_bsn_state *block_status_dl =</span><br><span> &rlc_data->spb_status.block_status_dl;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- GprsCodingScheme &cs_current_trans = m_rlc.block(bsn)->cs_current_trans;</span><br><span style="color: hsl(0, 100%, 40%);">- GprsCodingScheme &cs_init = m_rlc.block(bsn)->cs_init;</span><br><span style="color: hsl(120, 100%, 40%);">+ enum CodingScheme cs_init = CodingScheme(rlc_data->cs_init);</span><br><span style="color: hsl(120, 100%, 40%);">+ enum CodingScheme cs_current_trans = CodingScheme(rlc_data->cs_current_trans);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ enum HeaderType ht_cs_init = rlc_data->cs_init.headerTypeData();</span><br><span style="color: hsl(120, 100%, 40%);">+ enum HeaderType ht_cs_current_trans = rlc_data->cs_current_trans.headerTypeData();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> *block_data = &rlc_data->block[0];</span><br><span> </span><br><span> /*</span><br><span>@@ -1259,10 +1262,9 @@</span><br><span> * MCS8: second segment starts at 31</span><br><span> * MCS4: second segment starts at 44/2 = 22</span><br><span> */</span><br><span style="color: hsl(0, 100%, 40%);">- if (cs_current_trans.headerTypeData() ==</span><br><span style="color: hsl(0, 100%, 40%);">- HEADER_EGPRS_DATA_TYPE_3) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ht_cs_current_trans == HEADER_EGPRS_DATA_TYPE_3) {</span><br><span> if (*block_status_dl == EGPRS_RESEG_FIRST_SEG_SENT) {</span><br><span style="color: hsl(0, 100%, 40%);">- switch (CodingScheme(cs_init)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ switch (cs_init) {</span><br><span> case MCS6 :</span><br><span> case MCS9 :</span><br><span> *block_data = &rlc_data->block[37];</span><br><span>@@ -1281,21 +1283,17 @@</span><br><span> LOGPTBFDL(this, LOGL_ERROR,</span><br><span> "FIXME: Software error: hit invalid condition. "</span><br><span> "headerType(%d) blockstatus(%d) cs(%s) PLEASE FIX!\n",</span><br><span style="color: hsl(0, 100%, 40%);">- cs_current_trans.headerTypeData(),</span><br><span style="color: hsl(120, 100%, 40%);">+ ht_cs_current_trans,</span><br><span> *block_status_dl, mcs_name(cs_init));</span><br><span> break;</span><br><span> </span><br><span> }</span><br><span> return EGPRS_RESEG_SECOND_SEG_SENT;</span><br><span style="color: hsl(0, 100%, 40%);">- } else if ((cs_init.headerTypeData() ==</span><br><span style="color: hsl(0, 100%, 40%);">- HEADER_EGPRS_DATA_TYPE_1) ||</span><br><span style="color: hsl(0, 100%, 40%);">- (cs_init.headerTypeData() ==</span><br><span style="color: hsl(0, 100%, 40%);">- HEADER_EGPRS_DATA_TYPE_2)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ } else if ((ht_cs_init == HEADER_EGPRS_DATA_TYPE_1) ||</span><br><span style="color: hsl(120, 100%, 40%);">+ (ht_cs_init == HEADER_EGPRS_DATA_TYPE_2)) {</span><br><span> return EGPRS_RESEG_FIRST_SEG_SENT;</span><br><span style="color: hsl(0, 100%, 40%);">- } else if ((CodingScheme(cs_init) ==</span><br><span style="color: hsl(0, 100%, 40%);">- MCS4) &&</span><br><span style="color: hsl(0, 100%, 40%);">- (CodingScheme(cs_current_trans) ==</span><br><span style="color: hsl(0, 100%, 40%);">- MCS1)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ } else if ((cs_init == MCS4) &&</span><br><span style="color: hsl(120, 100%, 40%);">+ (cs_current_trans == MCS1)) {</span><br><span> return EGPRS_RESEG_FIRST_SEG_SENT;</span><br><span> }</span><br><span> }</span><br><span>@@ -1320,34 +1318,30 @@</span><br><span> enum egprs_rlcmac_dl_spb gprs_rlcmac_dl_tbf::get_egprs_dl_spb(const int bsn)</span><br><span> {</span><br><span> struct gprs_rlc_data *rlc_data = m_rlc.block(bsn);</span><br><span style="color: hsl(0, 100%, 40%);">- egprs_rlc_dl_reseg_bsn_state block_status_dl =</span><br><span style="color: hsl(0, 100%, 40%);">- rlc_data->spb_status.block_status_dl;</span><br><span style="color: hsl(120, 100%, 40%);">+ egprs_rlc_dl_reseg_bsn_state block_status_dl = rlc_data->spb_status.block_status_dl;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- GprsCodingScheme &cs_current_trans = m_rlc.block(bsn)->cs_current_trans;</span><br><span style="color: hsl(0, 100%, 40%);">- GprsCodingScheme &cs_init = m_rlc.block(bsn)->cs_init;</span><br><span style="color: hsl(120, 100%, 40%);">+ enum CodingScheme cs_init = CodingScheme(rlc_data->cs_init);</span><br><span style="color: hsl(120, 100%, 40%);">+ enum CodingScheme cs_current_trans = CodingScheme(rlc_data->cs_current_trans);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ enum HeaderType ht_cs_init = rlc_data->cs_init.headerTypeData();</span><br><span style="color: hsl(120, 100%, 40%);">+ enum HeaderType ht_cs_current_trans = rlc_data->cs_current_trans.headerTypeData();</span><br><span> </span><br><span> /* Table 10.4.8b.1 of 44.060 */</span><br><span style="color: hsl(0, 100%, 40%);">- if (cs_current_trans.headerTypeData() ==</span><br><span style="color: hsl(0, 100%, 40%);">- HEADER_EGPRS_DATA_TYPE_3) {</span><br><span style="color: hsl(0, 100%, 40%);">- /*</span><br><span style="color: hsl(0, 100%, 40%);">- * if we are sending the second segment the spb should be 3</span><br><span style="color: hsl(0, 100%, 40%);">- * other wise it should be 2</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ht_cs_current_trans == HEADER_EGPRS_DATA_TYPE_3) {</span><br><span style="color: hsl(120, 100%, 40%);">+ /*</span><br><span style="color: hsl(120, 100%, 40%);">+ * if we are sending the second segment the spb should be 3</span><br><span style="color: hsl(120, 100%, 40%);">+ * otherwise it should be 2</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span> if (block_status_dl == EGPRS_RESEG_FIRST_SEG_SENT) {</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> /* statistics */</span><br><span> bts->spb_downlink_second_segment();</span><br><span> return EGPRS_RLCMAC_DL_SEC_SEG;</span><br><span style="color: hsl(0, 100%, 40%);">- } else if ((cs_init.headerTypeData() ==</span><br><span style="color: hsl(0, 100%, 40%);">- HEADER_EGPRS_DATA_TYPE_1) ||</span><br><span style="color: hsl(0, 100%, 40%);">- (cs_init.headerTypeData() ==</span><br><span style="color: hsl(0, 100%, 40%);">- HEADER_EGPRS_DATA_TYPE_2)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ } else if ((ht_cs_init == HEADER_EGPRS_DATA_TYPE_1) ||</span><br><span style="color: hsl(120, 100%, 40%);">+ (ht_cs_init == HEADER_EGPRS_DATA_TYPE_2)) {</span><br><span> bts->spb_downlink_first_segment();</span><br><span> return EGPRS_RLCMAC_DL_FIRST_SEG;</span><br><span style="color: hsl(0, 100%, 40%);">- } else if ((CodingScheme(cs_init) ==</span><br><span style="color: hsl(0, 100%, 40%);">- MCS4) &&</span><br><span style="color: hsl(0, 100%, 40%);">- (CodingScheme(cs_current_trans) ==</span><br><span style="color: hsl(0, 100%, 40%);">- MCS1)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ } else if ((cs_init == MCS4) &&</span><br><span style="color: hsl(120, 100%, 40%);">+ (cs_current_trans == MCS1)) {</span><br><span> bts->spb_downlink_first_segment();</span><br><span> return EGPRS_RLCMAC_DL_FIRST_SEG;</span><br><span> }</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/13244">change 13244</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/13244"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: osmo-pcu </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: If1d2bc69b0d43fc520e579457007704b7975117e </div>
<div style="display:none"> Gerrit-Change-Number: 13244 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Max <msuraev@sysmocom.de> </div>