diff options
author | Daniel Willmann <dwillmann@sysmocom.de> | 2014-08-07 14:54:11 +0200 |
---|---|---|
committer | Daniel Willmann <daniel@totalueberwachung.de> | 2014-08-07 16:12:05 +0200 |
commit | 350f64d9e282f0d337c04344a57dda69279119c1 (patch) | |
tree | e4301b5dd8b96166a93180c5df8ac9343dfb5e8c | |
parent | 4f3c4208527b7cd3275bff87b2d016c5b2c15506 (diff) |
tbf: Move UL TBF methods from base class into UL TBF
The methods create_ul_ack(), rcv_data_block_acknowledged(),
maybe_schedule_uplink_acknack() are only used for UL TBFs so make them
methods of that class instead of the base class.
Ticket: SYS#389
Sponsored by: On-Waves ehf
-rw-r--r-- | src/tbf.cpp | 10 | ||||
-rw-r--r-- | src/tbf.h | 11 |
2 files changed, 12 insertions, 9 deletions
diff --git a/src/tbf.cpp b/src/tbf.cpp index f7cdca51..31276d18 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -1293,7 +1293,7 @@ struct msgb *gprs_rlcmac_tbf::create_dl_ass(uint32_t fn) struct msgb *gprs_rlcmac_tbf::create_ul_ass(uint32_t fn) { struct msgb *msg; - struct gprs_rlcmac_tbf *new_tbf; + struct gprs_rlcmac_ul_tbf *new_tbf; if (poll_state != GPRS_RLCMAC_POLL_NONE) { LOGP(DRLCMACUL, LOGL_DEBUG, "Polling is already " @@ -1312,7 +1312,7 @@ struct msgb *gprs_rlcmac_tbf::create_ul_ass(uint32_t fn) if (direction == GPRS_RLCMAC_DL_TBF) new_tbf = bts->ul_tbf_by_tlli(m_tlli); else - new_tbf = this; + new_tbf = static_cast<gprs_rlcmac_ul_tbf *>(this); if (!new_tbf) { LOGP(DRLCMACUL, LOGL_ERROR, "We have a schedule for uplink " @@ -1353,7 +1353,7 @@ struct msgb *gprs_rlcmac_tbf::create_ul_ass(uint32_t fn) return msg; } -struct msgb *gprs_rlcmac_tbf::create_ul_ack(uint32_t fn) +struct msgb *gprs_rlcmac_ul_tbf::create_ul_ack(uint32_t fn) { int final = (state_is(GPRS_RLCMAC_FINISHED)); struct msgb *msg; @@ -1620,7 +1620,7 @@ int gprs_rlcmac_tbf::extract_tlli(const uint8_t *data, const size_t len) return 1; } -int gprs_rlcmac_tbf::rcv_data_block_acknowledged(const uint8_t *data, size_t len, int8_t rssi) +int gprs_rlcmac_ul_tbf::rcv_data_block_acknowledged(const uint8_t *data, size_t len, int8_t rssi) { struct rlc_ul_header *rh = (struct rlc_ul_header *)data; int rc; @@ -1716,7 +1716,7 @@ int gprs_rlcmac_tbf::rcv_data_block_acknowledged(const uint8_t *data, size_t len return 0; } -void gprs_rlcmac_tbf::maybe_schedule_uplink_acknack(const rlc_ul_header *rh) +void gprs_rlcmac_ul_tbf::maybe_schedule_uplink_acknack(const rlc_ul_header *rh) { if (rh->si || rh->ti || state_is(GPRS_RLCMAC_FINISHED) || (dir.ul.rx_counter % SEND_ACK_AFTER_FRAMES) == 0) { @@ -123,11 +123,8 @@ struct gprs_rlcmac_tbf { struct msgb *create_dl_ass(uint32_t fn); struct msgb *create_ul_ass(uint32_t fn); - struct msgb *create_ul_ack(uint32_t fn); int snd_ul_ud(); - /* blocks were acked */ - int rcv_data_block_acknowledged(const uint8_t *data, size_t len, int8_t rssi); uint8_t tsc() const; int rlcmac_diag(); @@ -257,7 +254,6 @@ protected: gprs_rlcmac_bts *bts_data() const; int extract_tlli(const uint8_t *data, const size_t len); - void maybe_schedule_uplink_acknack(const rlc_ul_header *rh); }; @@ -358,6 +354,13 @@ protected: }; struct gprs_rlcmac_ul_tbf : public gprs_rlcmac_tbf { + struct msgb *create_ul_ack(uint32_t fn); + + /* blocks were acked */ + int rcv_data_block_acknowledged(const uint8_t *data, size_t len, int8_t rssi); + +protected: + void maybe_schedule_uplink_acknack(const rlc_ul_header *rh); }; #endif |