aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-11-13 14:56:55 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-11-13 14:58:19 +0100
commit857281f7ff904f2c8714c938a693d3a49084f4fc (patch)
treebb32357385250f9f5076d2e8a970cd90a78e867b
parentd26318e4a71e931113b13df1da239ccf3b978d21 (diff)
llc: Remove one of the two variants to put data into the frame
-rw-r--r--src/llc.cpp14
-rw-r--r--src/llc.h1
-rw-r--r--src/tbf.cpp4
3 files changed, 8 insertions, 11 deletions
diff --git a/src/llc.cpp b/src/llc.cpp
index a4fd7afa..524814cf 100644
--- a/src/llc.cpp
+++ b/src/llc.cpp
@@ -22,6 +22,8 @@
#include <tbf.h>
#include <bts.h>
+#include <stdio.h>
+
extern "C" {
#include <osmocom/core/msgb.h>
}
@@ -45,6 +47,10 @@ void gprs_llc::enqueue(struct msgb *llc_msg)
void gprs_llc::put_frame(const uint8_t *data, size_t len)
{
+ /* only put frames when we are empty */
+ OSMO_ASSERT(index == 0 && length == 0);
+
+ /* TODO: bounds check */
memcpy(frame, data, len);
length = len;
}
@@ -68,11 +74,3 @@ struct msgb *gprs_llc::dequeue()
{
return msgb_dequeue(&queue);
}
-
-void gprs_llc::update_frame(struct msgb *msg)
-{
- /* TODO: assert that index is 0 now */
- /* TODO: bounds check */
- memcpy(frame, msg->data, msg->len);
- length = msg->len;
-}
diff --git a/src/llc.h b/src/llc.h
index 43c027e1..040ea623 100644
--- a/src/llc.h
+++ b/src/llc.h
@@ -34,7 +34,6 @@ struct gprs_llc {
void enqueue(struct msgb *llc_msg);
struct msgb *dequeue();
- void update_frame(struct msgb *msg);
void put_frame(const uint8_t *data, size_t len);
void consume(uint8_t *data, size_t len);
void clear(BTS *bts);
diff --git a/src/tbf.cpp b/src/tbf.cpp
index 1416e09e..b4b58e48 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -1096,7 +1096,7 @@ do_resend:
if (msg) {
LOGP(DRLCMACDL, LOGL_INFO, "- Dequeue next LLC for "
"%s (len=%d)\n", tbf_name(this), msg->len);
- m_llc.update_frame(msg);
+ m_llc.put_frame(msg->data, msg->len);
msgb_free(msg);
}
/* if we have more data and we have space left */
@@ -1551,7 +1551,7 @@ int gprs_rlcmac_tbf::snd_dl_ack(uint8_t final, uint8_t ssn, uint8_t *rbb)
return 0;
}
#warning "Copy and paste on the sender path"
- m_llc.update_frame(msg);
+ m_llc.put_frame(msg->data, msg->len);
msgb_free(msg);
/* we have a message, so we trigger downlink assignment, and there