diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2016-01-26 21:46:26 +0100 |
---|---|---|
committer | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2016-02-08 00:45:38 +0100 |
commit | f2694b74c9af6e308d3886cd3c75864d101de8d4 (patch) | |
tree | e402695c1685b270713f563d240d348dd6a8136e /src/encoding.h | |
parent | 8eb17143f2b3ab5d96c46d698722de9dc83ac5f4 (diff) |
tbf: Add check_polling/set_polling
Currently the checks for and the actual polling is done in several
places by copy & paste of several lines of code. This hinders changes
of they polling is handled internally and also is likely source of
programming mistakes.
Separate this into a check_polling function, that checks whether
polling is possible and returns the FN and the RRBP to be used in
that case. Otherwise the cause is logged (LOGL_DEBUG) and a negative
error value is returned. There are no other side effect beside the
logging.
If the call is successful, the set_polling method can be used to
actually register the polling.
Extend the encoder functions' parameters lists by an rrbp parameter.
Sponsored-by: On-Waves ehf
Diffstat (limited to 'src/encoding.h')
-rw-r--r-- | src/encoding.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/encoding.h b/src/encoding.h index 4c357578..6ee30ac8 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -49,21 +49,23 @@ public: static void write_packet_uplink_assignment( struct gprs_rlcmac_bts *bts, bitvec * dest, uint8_t old_tfi, - uint8_t old_downlink, uint32_t tlli, uint8_t use_tlli, - struct gprs_rlcmac_ul_tbf *tbf, uint8_t poll, uint8_t alpha, - uint8_t gamma, int8_t ta_idx, int8_t use_egprs); + uint8_t old_downlink, uint32_t tlli, uint8_t use_tlli, + struct gprs_rlcmac_ul_tbf *tbf, uint8_t poll, uint8_t rrbp, + uint8_t alpha, uint8_t gamma, int8_t ta_idx, + int8_t use_egprs); static void write_packet_downlink_assignment(RlcMacDownlink_t * block, uint8_t old_tfi, uint8_t old_downlink, - struct gprs_rlcmac_tbf *tbf, uint8_t poll, uint8_t alpha, - uint8_t gamma, int8_t ta_idx, uint8_t ta_ts, - bool use_egprs); + struct gprs_rlcmac_tbf *tbf, uint8_t poll, uint8_t rrbp, + uint8_t alpha, uint8_t gamma, + int8_t ta_idx, uint8_t ta_ts, bool use_egprs); static void encode_rbb(const char *show_rbb, uint8_t *rbb); static void write_packet_uplink_ack( struct gprs_rlcmac_bts *bts, bitvec * dest, - struct gprs_rlcmac_ul_tbf *tbf, bool is_final); + struct gprs_rlcmac_ul_tbf *tbf, bool is_final, + uint8_t rrbp); static int write_paging_request(bitvec * dest, uint8_t *ptmsi, uint16_t ptmsi_len); |