tbf: Make create_new_bsn and create_dl_acked_block a method of DL TBF
These functions are only used for DL TBFs so move them. sched_select_downlink() in src/gprs_rlcmac_sched.cpp now needs to deal with DL TBFs instead of the base class. Ticket: SYS#389 Sponsored-by: On-Waves ehf
This commit is contained in:
parent
6c813fc9bc
commit
b8f260176e
|
@ -164,7 +164,7 @@ static struct msgb *sched_select_downlink(struct gprs_rlcmac_bts *bts,
|
|||
uint8_t block_nr, struct gprs_rlcmac_pdch *pdch)
|
||||
{
|
||||
struct msgb *msg = NULL;
|
||||
struct gprs_rlcmac_tbf *tbf = NULL;
|
||||
struct gprs_rlcmac_dl_tbf *tbf = NULL;
|
||||
uint8_t i, tfi;
|
||||
|
||||
/* select downlink resource */
|
||||
|
|
|
@ -889,7 +889,7 @@ int gprs_rlcmac_tbf::assemble_forward_llc(const gprs_rlc_data *_data)
|
|||
* Create DL data block
|
||||
* The messages are fragmented and forwarded as data blocks.
|
||||
*/
|
||||
struct msgb *gprs_rlcmac_tbf::create_dl_acked_block(uint32_t fn, uint8_t ts)
|
||||
struct msgb *gprs_rlcmac_dl_tbf::create_dl_acked_block(uint32_t fn, uint8_t ts)
|
||||
{
|
||||
LOGP(DRLCMACDL, LOGL_DEBUG, "%s downlink (V(A)==%d .. "
|
||||
"V(S)==%d)\n", tbf_name(this),
|
||||
|
@ -954,7 +954,7 @@ do_resend:
|
|||
return create_new_bsn(fn, ts);
|
||||
}
|
||||
|
||||
struct msgb *gprs_rlcmac_tbf::create_new_bsn(const uint32_t fn, const uint8_t ts)
|
||||
struct msgb *gprs_rlcmac_dl_tbf::create_new_bsn(const uint32_t fn, const uint8_t ts)
|
||||
{
|
||||
struct rlc_dl_header *rh;
|
||||
struct rlc_li_field *li;
|
||||
|
@ -1121,7 +1121,7 @@ struct msgb *gprs_rlcmac_tbf::create_new_bsn(const uint32_t fn, const uint8_t ts
|
|||
return create_dl_acked_block(fn, ts, bsn, first_fin_ack);
|
||||
}
|
||||
|
||||
struct msgb *gprs_rlcmac_tbf::create_dl_acked_block(
|
||||
struct msgb *gprs_rlcmac_dl_tbf::create_dl_acked_block(
|
||||
const uint32_t fn, const uint8_t ts,
|
||||
const int index, const bool first_fin_ack)
|
||||
{
|
||||
|
|
10
src/tbf.h
10
src/tbf.h
|
@ -121,7 +121,6 @@ struct gprs_rlcmac_tbf {
|
|||
/* TODO: extract LLC class? */
|
||||
int assemble_forward_llc(const gprs_rlc_data *data);
|
||||
|
||||
struct msgb *create_dl_acked_block(uint32_t fn, uint8_t ts);
|
||||
struct msgb *create_dl_ass(uint32_t fn);
|
||||
struct msgb *create_ul_ass(uint32_t fn);
|
||||
struct msgb *create_ul_ack(uint32_t fn);
|
||||
|
@ -270,9 +269,6 @@ protected:
|
|||
int extract_tlli(const uint8_t *data, const size_t len);
|
||||
void maybe_schedule_uplink_acknack(const rlc_ul_header *rh);
|
||||
|
||||
struct msgb *create_dl_acked_block(const uint32_t fn, const uint8_t ts,
|
||||
const int index, const bool fin_first_ack);
|
||||
struct msgb *create_new_bsn(const uint32_t fn, const uint8_t ts);
|
||||
};
|
||||
|
||||
|
||||
|
@ -354,6 +350,12 @@ struct gprs_rlcmac_dl_tbf : public gprs_rlcmac_tbf {
|
|||
const uint8_t *data, const uint16_t len);
|
||||
|
||||
int rcvd_dl_ack(uint8_t final, uint8_t ssn, uint8_t *rbb);
|
||||
struct msgb *create_dl_acked_block(uint32_t fn, uint8_t ts);
|
||||
|
||||
protected:
|
||||
struct msgb *create_new_bsn(const uint32_t fn, const uint8_t ts);
|
||||
struct msgb *create_dl_acked_block(const uint32_t fn, const uint8_t ts,
|
||||
const int index, const bool fin_first_ack);
|
||||
};
|
||||
|
||||
struct gprs_rlcmac_ul_tbf : public gprs_rlcmac_tbf {
|
||||
|
|
Loading…
Reference in New Issue