llc: Remove one of the two variants to put data into the frame

This commit is contained in:
Holger Hans Peter Freyther 2013-11-13 14:56:55 +01:00
parent d26318e4a7
commit 857281f7ff
3 changed files with 8 additions and 11 deletions

View File

@ -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;
}

View File

@ -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);

View File

@ -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