Add Accessor functions for ARQ-II in EGPRS DL

Add accessor function in existing classes to support ARQ-II for
retransmission in EGPRS DL
This commit is contained in:
Aravind Sirsikar 2016-05-19 21:13:42 +05:30
parent 5974ec7609
commit 7b01c15b6c
3 changed files with 24 additions and 1 deletions

View File

@ -70,6 +70,7 @@ public:
unsigned int to_num() const;
GprsCodingScheme& operator =(Scheme s);
bool operator == (Scheme s);
GprsCodingScheme& operator =(GprsCodingScheme o);
bool isValid() const {return UNKNOWN <= m_scheme && m_scheme <= MCS9;}
@ -111,6 +112,9 @@ public:
static GprsCodingScheme getEgprsByNum(unsigned num);
static const char *modeName(Mode mode);
static Scheme get_retx_mcs(const GprsCodingScheme &mcs,
const GprsCodingScheme &retx_mcs);
static enum Scheme egprs_mcs_retx_tbl[MAX_NUM_ARQ]
[MAX_NUM_MCS][MAX_NUM_MCS];
private:
@ -196,6 +200,13 @@ inline bool operator ==(GprsCodingScheme a, GprsCodingScheme b)
return GprsCodingScheme::Scheme(a) == GprsCodingScheme::Scheme(b);
}
inline bool GprsCodingScheme::operator == (Scheme scheme)
{
if (this->m_scheme == scheme)
return true;
return false;
}
inline bool operator !=(GprsCodingScheme a, GprsCodingScheme b)
{
return !(a == b);
@ -221,4 +232,10 @@ inline bool operator >=(GprsCodingScheme a, GprsCodingScheme b)
{
return a == b || a > b;
}
inline GprsCodingScheme::Scheme GprsCodingScheme::get_retx_mcs(
const GprsCodingScheme &mcs,
const GprsCodingScheme &demanded_mcs)
{
return egprs_mcs_retx_tbl[EGPRS_ARQ2][mcs.to_num() - 1]
[demanded_mcs.to_num() - 1];
}

View File

@ -574,6 +574,11 @@ GprsCodingScheme GprsMs::max_cs_ul() const
return GprsCodingScheme(GprsCodingScheme::MCS4);
}
void GprsMs::set_current_cs_dl(GprsCodingScheme::Scheme scheme)
{
m_current_cs_dl = scheme;
}
GprsCodingScheme GprsMs::max_cs_dl() const
{
struct gprs_rlcmac_bts *bts_data;

View File

@ -86,6 +86,7 @@ public:
uint8_t egprs_ms_class() const;
void set_ms_class(uint8_t ms_class);
void set_egprs_ms_class(uint8_t ms_class);
void set_current_cs_dl(GprsCodingScheme::Scheme scheme);
GprsCodingScheme current_cs_ul() const;
GprsCodingScheme current_cs_dl() const;