<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>