diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2016-02-05 17:07:12 +0100 |
---|---|---|
committer | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2016-02-08 00:45:34 +0100 |
commit | eb08f86c0278bc6c6d1ba42c82c66d564a5f7c06 (patch) | |
tree | a7dd857508dfdca199acf7a55d5fa02390afde29 /src/tbf.h | |
parent | f2f24b09593bb91e84538e7f6c9e51dd642bf5e0 (diff) |
edge: Add bitvec based DL window updating methods
The current methods are based on the GRPS specific RBB and SSN values
and formats which are not compatible with EGPRS.
Add a second set of similar methods with the same semantics but
which are based on a bitvec and the first BSN instead.
The following methods are affected:
- gprs_rlc_dl_window::update
- gprs_rlcmac_dl_tbf::rcvd_dl_ack
- gprs_rlcmac_dl_tbf::update_window
Sponsored-by: On-Waves ehf
Diffstat (limited to 'src/tbf.h')
-rw-r--r-- | src/tbf.h | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -344,6 +344,7 @@ 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); + int rcvd_dl_ack(uint8_t final_ack, unsigned first_bsn, struct bitvec *rbb); struct msgb *create_dl_acked_block(uint32_t fn, uint8_t ts); void request_dl_ack(); bool need_control_ts() const; @@ -395,6 +396,7 @@ protected: struct msgb *create_dl_acked_block(const uint32_t fn, const uint8_t ts, const int index); int update_window(const uint8_t ssn, const uint8_t *rbb); + int update_window(unsigned first_bsn, const struct bitvec *rbb); int maybe_start_new_window(); bool dl_window_stalled() const; void reuse_tbf(); |