aboutsummaryrefslogtreecommitdiffstats
path: root/src/gprs_rlcmac.h
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2012-07-13 14:50:57 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2012-07-13 14:50:57 +0200
commitf298fa87b948b03ed71bc8538c14778b680612dc (patch)
tree707e86a92d2288f38f56386cf9836b054bcf45b2 /src/gprs_rlcmac.h
parentb0c7ea72c8157f1b8124bbe105aa05c46a77a005 (diff)
multislot: Extracted "slot allocation algorithm" from tbf allocator
The current available algorithm only supports selecting a single slot for downlink/uplink. (In the future, a multislot algorithm will follow.)
Diffstat (limited to 'src/gprs_rlcmac.h')
-rw-r--r--src/gprs_rlcmac.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gprs_rlcmac.h b/src/gprs_rlcmac.h
index db0e9ab9..71edf3df 100644
--- a/src/gprs_rlcmac.h
+++ b/src/gprs_rlcmac.h
@@ -71,6 +71,7 @@ struct gprs_rlcmac_bts {
uint8_t n3103;
uint8_t n3105;
struct gprs_rlcmac_trx trx[8];
+ int (*alloc_algorithm)(struct gprs_rlcmac_tbf *tbf);
};
extern struct gprs_rlcmac_bts *gprs_rlcmac_bts;
@@ -135,6 +136,7 @@ struct gprs_rlcmac_tbf {
uint16_t arfcn;
uint8_t tsc;
uint8_t first_ts;
+ uint8_t ms_class;
struct gprs_rlcmac_pdch *pdch[8]; /* list of PDCHs allocated to TBF */
uint16_t ta;
uint8_t llc_frame[LLC_MAX_LEN]; /* current DL or UL frame */
@@ -196,7 +198,9 @@ int tfi_alloc(enum gprs_rlcmac_tbf_direction dir, uint8_t *_trx, uint8_t *_ts,
uint8_t use_trx, uint8_t first_ts);
struct gprs_rlcmac_tbf *tbf_alloc(enum gprs_rlcmac_tbf_direction dir,
- uint8_t tfi, uint8_t trx, uint8_t first_ts, uint8_t num_ts);
+ uint8_t tfi, uint8_t trx, uint8_t first_ts, uint8_t ms_class);
+
+int alloc_algorithm_a(struct gprs_rlcmac_tbf *tbf);
struct gprs_rlcmac_tbf *tbf_by_tfi(uint8_t tfi, uint8_t trx, uint8_t ts,
enum gprs_rlcmac_tbf_direction dir);