This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Holger Freyther gerrit-no-reply at lists.osmocom.orgHolger Freyther has submitted this change and it was merged.
Change subject: Add Accessor functions for ARQ-II in EGPRS DL
......................................................................
Add Accessor functions for ARQ-II in EGPRS DL
Add accessor function in existing classes to support ARQ-II for
retransmission in EGPRS DL
Change-Id: Iefff956bf2dcfe8fb0b2f5a7a7a2122d5d555f9e
---
M src/gprs_coding_scheme.h
M src/gprs_ms.cpp
M src/gprs_ms.h
3 files changed, 22 insertions(+), 1 deletion(-)
Approvals:
Jenkins Builder: Verified
Holger Freyther: Looks good to me, approved
diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h
index bb0bad4..60a8e79 100644
--- a/src/gprs_coding_scheme.h
+++ b/src/gprs_coding_scheme.h
@@ -70,6 +70,7 @@
unsigned int to_num() const;
GprsCodingScheme& operator =(Scheme s);
+ bool operator == (Scheme s) const;
GprsCodingScheme& operator =(GprsCodingScheme o);
bool isValid() const {return UNKNOWN <= m_scheme && m_scheme <= MCS9;}
@@ -111,6 +112,9 @@
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,11 @@
return GprsCodingScheme::Scheme(a) == GprsCodingScheme::Scheme(b);
}
+inline bool GprsCodingScheme::operator == (Scheme scheme) const
+{
+ return this->m_scheme == scheme;
+}
+
inline bool operator !=(GprsCodingScheme a, GprsCodingScheme b)
{
return !(a == b);
@@ -221,4 +230,10 @@
{
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];
+}
diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp
index 4f71892..b3270b1 100644
--- a/src/gprs_ms.cpp
+++ b/src/gprs_ms.cpp
@@ -574,6 +574,11 @@
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;
diff --git a/src/gprs_ms.h b/src/gprs_ms.h
index b07f175..bcc4fb3 100644
--- a/src/gprs_ms.h
+++ b/src/gprs_ms.h
@@ -86,6 +86,7 @@
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;
--
To view, visit https://gerrit.osmocom.org/333
To unsubscribe, visit https://gerrit.osmocom.org/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Iefff956bf2dcfe8fb0b2f5a7a7a2122d5d555f9e
Gerrit-PatchSet: 4
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: arvind.sirsikar <arvind.sirsikar at radisys.com>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Holger Freyther <holger at freyther.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: arvind.sirsikar <arvind.sirsikar at radisys.com>