<p>pespin <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-pcu/+/22296">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  neels: Looks good to me, approved
  osmith: Looks good to me, but someone else must approve

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Move tbf::free_all static methods to proper object files<br><br>Move each method to the object on which they operate, be it a trx or a<br>pdch ts.<br><br>Change-Id: Ida715cbf384431d37b2b192fbd7882957c93a4d1<br>---<br>M src/bts.cpp<br>M src/bts.h<br>M src/osmobts_sock.cpp<br>M src/pdch.cpp<br>M src/pdch.h<br>M src/tbf.cpp<br>M src/tbf.h<br>7 files changed, 31 insertions(+), 25 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/bts.cpp b/src/bts.cpp</span><br><span>index 0e08091..499c033 100644</span><br><span>--- a/src/bts.cpp</span><br><span>+++ b/src/bts.cpp</span><br><span>@@ -70,6 +70,12 @@</span><br><span>   }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+void bts_trx_free_all_tbf(struct gprs_rlcmac_trx *trx)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ for (uint8_t ts = 0; ts < 8; ts++)</span><br><span style="color: hsl(120, 100%, 40%);">+         pdch_free_all_tbf(&trx->pdch[ts]);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> static struct osmo_tdef T_defs_bts[] = {</span><br><span>   { .T=3142, .default_val=20,  .unit=OSMO_TDEF_S,  .desc="timer (s)", .val=0 },</span><br><span>      { .T=3169, .default_val=5,   .unit=OSMO_TDEF_S,  .desc="Reuse of USF and TFI(s) after the MS uplink TBF assignment is invalid (s)", .val=0 },</span><br><span>diff --git a/src/bts.h b/src/bts.h</span><br><span>index 8d06939..37fc5dc 100644</span><br><span>--- a/src/bts.h</span><br><span>+++ b/src/bts.h</span><br><span>@@ -65,6 +65,7 @@</span><br><span> #endif</span><br><span> void bts_trx_reserve_slots(struct gprs_rlcmac_trx *trx, enum gprs_rlcmac_tbf_direction dir, uint8_t slots);</span><br><span> void bts_trx_unreserve_slots(struct gprs_rlcmac_trx *trx, enum gprs_rlcmac_tbf_direction dir, uint8_t slots);</span><br><span style="color: hsl(120, 100%, 40%);">+void bts_trx_free_all_tbf(struct gprs_rlcmac_trx *trx);</span><br><span> </span><br><span> void bts_update_tbf_ta(const char *p, uint32_t fn, uint8_t trx_no, uint8_t ts, int8_t ta, bool is_rach);</span><br><span> #ifdef __cplusplus</span><br><span>diff --git a/src/osmobts_sock.cpp b/src/osmobts_sock.cpp</span><br><span>index d94c7e7..c68b7b9 100644</span><br><span>--- a/src/osmobts_sock.cpp</span><br><span>+++ b/src/osmobts_sock.cpp</span><br><span>@@ -118,7 +118,7 @@</span><br><span>                     bts->trx[trx].pdch[ts].disable();</span><br><span> /* FIXME: NOT ALL RESOURCES are freed in this case... inconsistent with the other code. Share the code with pcu_l1if.c</span><br><span> for the reset. */</span><br><span style="color: hsl(0, 100%, 40%);">-             gprs_rlcmac_tbf::free_all(&bts->trx[trx]);</span><br><span style="color: hsl(120, 100%, 40%);">+             bts_trx_free_all_tbf(&bts->trx[trx]);</span><br><span>         }</span><br><span> </span><br><span>        gprs_bssgp_destroy(bts);</span><br><span>diff --git a/src/pdch.cpp b/src/pdch.cpp</span><br><span>index c48c63f..15fd139 100644</span><br><span>--- a/src/pdch.cpp</span><br><span>+++ b/src/pdch.cpp</span><br><span>@@ -152,7 +152,7 @@</span><br><span>          return;</span><br><span> </span><br><span>  /* kick all TBF on slot */</span><br><span style="color: hsl(0, 100%, 40%);">-      gprs_rlcmac_tbf::free_all(this);</span><br><span style="color: hsl(120, 100%, 40%);">+      pdch_free_all_tbf(this);</span><br><span> </span><br><span>         /* flush all pending paging messages */</span><br><span>      while ((pag = dequeue_paging()))</span><br><span>@@ -1017,3 +1017,17 @@</span><br><span>    OSMO_ASSERT(tai < PTCCH_TAI_NUM);</span><br><span>         ptcch_msg[tai] = ta;</span><br><span> }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+void pdch_free_all_tbf(struct gprs_rlcmac_pdch *pdch)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ for (uint8_t tfi = 0; tfi < 32; tfi++) {</span><br><span style="color: hsl(120, 100%, 40%);">+           struct gprs_rlcmac_tbf *tbf;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                tbf = pdch->ul_tbf_by_tfi(tfi);</span><br><span style="color: hsl(120, 100%, 40%);">+            if (tbf)</span><br><span style="color: hsl(120, 100%, 40%);">+                      tbf_free(tbf);</span><br><span style="color: hsl(120, 100%, 40%);">+                tbf = pdch->dl_tbf_by_tfi(tfi);</span><br><span style="color: hsl(120, 100%, 40%);">+            if (tbf)</span><br><span style="color: hsl(120, 100%, 40%);">+                      tbf_free(tbf);</span><br><span style="color: hsl(120, 100%, 40%);">+        }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span>diff --git a/src/pdch.h b/src/pdch.h</span><br><span>index 2413ef7..57e0f43 100644</span><br><span>--- a/src/pdch.h</span><br><span>+++ b/src/pdch.h</span><br><span>@@ -183,3 +183,11 @@</span><br><span> }</span><br><span> </span><br><span> #endif /* __cplusplus */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#ifdef __cplusplus</span><br><span style="color: hsl(120, 100%, 40%);">+extern "C" {</span><br><span style="color: hsl(120, 100%, 40%);">+#endif</span><br><span style="color: hsl(120, 100%, 40%);">+void pdch_free_all_tbf(struct gprs_rlcmac_pdch *pdch);</span><br><span style="color: hsl(120, 100%, 40%);">+#ifdef __cplusplus</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+#endif</span><br><span>diff --git a/src/tbf.cpp b/src/tbf.cpp</span><br><span>index 859ebcd..37af21f 100644</span><br><span>--- a/src/tbf.cpp</span><br><span>+++ b/src/tbf.cpp</span><br><span>@@ -1045,26 +1045,6 @@</span><br><span>         return NULL;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void gprs_rlcmac_tbf::free_all(struct gprs_rlcmac_trx *trx)</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-       for (uint8_t ts = 0; ts < 8; ts++)</span><br><span style="color: hsl(0, 100%, 40%);">-           free_all(&trx->pdch[ts]);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-void gprs_rlcmac_tbf::free_all(struct gprs_rlcmac_pdch *pdch)</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">- for (uint8_t tfi = 0; tfi < 32; tfi++) {</span><br><span style="color: hsl(0, 100%, 40%);">-             struct gprs_rlcmac_tbf *tbf;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-            tbf = pdch->ul_tbf_by_tfi(tfi);</span><br><span style="color: hsl(0, 100%, 40%);">-              if (tbf)</span><br><span style="color: hsl(0, 100%, 40%);">-                        tbf_free(tbf);</span><br><span style="color: hsl(0, 100%, 40%);">-          tbf = pdch->dl_tbf_by_tfi(tfi);</span><br><span style="color: hsl(0, 100%, 40%);">-              if (tbf)</span><br><span style="color: hsl(0, 100%, 40%);">-                        tbf_free(tbf);</span><br><span style="color: hsl(0, 100%, 40%);">-  }</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> int gprs_rlcmac_tbf::establish_dl_tbf_on_pacch()</span><br><span> {</span><br><span>  struct gprs_rlcmac_dl_tbf *new_tbf = NULL;</span><br><span>diff --git a/src/tbf.h b/src/tbf.h</span><br><span>index 460de70..d616076 100644</span><br><span>--- a/src/tbf.h</span><br><span>+++ b/src/tbf.h</span><br><span>@@ -215,9 +215,6 @@</span><br><span>    gprs_rlcmac_tbf(struct gprs_rlcmac_bts *bts_, GprsMs *ms, gprs_rlcmac_tbf_direction dir);</span><br><span>    virtual ~gprs_rlcmac_tbf() {}</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       static void free_all(struct gprs_rlcmac_trx *trx);</span><br><span style="color: hsl(0, 100%, 40%);">-      static void free_all(struct gprs_rlcmac_pdch *pdch);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>         virtual gprs_rlc_window *window() = 0;</span><br><span> </span><br><span>   int setup(int8_t use_trx, bool single_slot);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-pcu/+/22296">change 22296</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/c/osmo-pcu/+/22296"/><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-Change-Id: Ida715cbf384431d37b2b192fbd7882957c93a4d1 </div>
<div style="display:none"> Gerrit-Change-Number: 22296 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>