aboutsummaryrefslogtreecommitdiffstats
path: root/src/rlc.h
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2016-02-05 17:07:12 +0100
committerJacob Erlbeck <jerlbeck@sysmocom.de>2016-02-08 00:45:34 +0100
commiteb08f86c0278bc6c6d1ba42c82c66d564a5f7c06 (patch)
treea7dd857508dfdca199acf7a55d5fa02390afde29 /src/rlc.h
parentf2f24b09593bb91e84538e7f6c9e51dd642bf5e0 (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/rlc.h')
-rw-r--r--src/rlc.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/rlc.h b/src/rlc.h
index 76af4e10..3f599d47 100644
--- a/src/rlc.h
+++ b/src/rlc.h
@@ -32,6 +32,7 @@
#define RLC_EGPRS_MAX_WS 1024 /* min window size */
#define RLC_EGPRS_SNS 2048 /* EGPRS, must be power of 2 */
#define RLC_MAX_SNS RLC_EGPRS_SNS
+#define RLC_MAX_WS RLC_EGPRS_MAX_WS
#define RLC_MAX_LEN 74 /* MCS-9 data unit */
struct BTS;
@@ -173,6 +174,9 @@ struct gprs_rlc_dl_window {
int mark_for_resend();
void update(BTS *bts, char *show_rbb, uint16_t ssn,
uint16_t *lost, uint16_t *received);
+ void update(BTS *bts, const struct bitvec *rbb,
+ uint16_t first_bsn, uint16_t *lost,
+ uint16_t *received);
int move_window();
void show_state(char *show_rbb);
int count_unacked();