mirror of https://github.com/PentHertz/srsLTE.git
nr,gnb,mac: fix const-correctness of some methods of class srsran::mac_sch_pdu_nr
This commit is contained in:
parent
885e1bcc60
commit
4286ab81d9
|
@ -57,17 +57,18 @@ public:
|
|||
mac_sch_subpdu_nr(mac_sch_pdu_nr* parent_) : parent(parent_), logger(&srslog::fetch_basic_logger("MAC-NR")){};
|
||||
|
||||
nr_lcid_sch_t get_type();
|
||||
bool is_sdu();
|
||||
bool is_sdu() const;
|
||||
bool is_valid_lcid();
|
||||
bool is_var_len_ce(uint32_t lcid);
|
||||
bool is_ul_ccch();
|
||||
|
||||
int32_t read_subheader(const uint8_t* ptr);
|
||||
uint32_t get_total_length();
|
||||
uint32_t get_sdu_length();
|
||||
uint32_t get_lcid();
|
||||
uint32_t get_total_length() const;
|
||||
uint32_t get_sdu_length() const;
|
||||
uint32_t get_lcid() const;
|
||||
uint8_t* get_sdu();
|
||||
uint16_t get_c_rnti();
|
||||
const uint8_t* get_sdu() const;
|
||||
uint16_t get_c_rnti() const;
|
||||
|
||||
// both return the reported values as per TS 38.321, mapping to dB according to TS 38.133 Sec 10.1.17 not done here
|
||||
uint8_t get_phr();
|
||||
|
@ -78,13 +79,13 @@ public:
|
|||
uint8_t lcg_id;
|
||||
uint8_t buffer_size;
|
||||
};
|
||||
lcg_bsr_t get_sbsr();
|
||||
lcg_bsr_t get_sbsr() const;
|
||||
static const uint8_t max_num_lcg_lbsr = 8;
|
||||
struct lbsr_t {
|
||||
uint8_t bitmap; // the first octet of LBSR and Long Trunc BSR
|
||||
std::vector<lcg_bsr_t> list; // one entry for each reported LCG
|
||||
};
|
||||
lbsr_t get_lbsr();
|
||||
lbsr_t get_lbsr() const;
|
||||
|
||||
// TA
|
||||
struct ta_t {
|
||||
|
@ -171,6 +172,7 @@ private:
|
|||
}
|
||||
|
||||
/// Returns the SDU pointer.
|
||||
const uint8_t* ptr() const { return sdu; }
|
||||
uint8_t* ptr() { return sdu; }
|
||||
};
|
||||
|
||||
|
@ -187,7 +189,8 @@ public:
|
|||
void pack();
|
||||
int unpack(const uint8_t* payload, const uint32_t& len);
|
||||
uint32_t get_num_subpdus();
|
||||
const mac_sch_subpdu_nr& get_subpdu(const uint32_t& index);
|
||||
const mac_sch_subpdu_nr& get_subpdu(const uint32_t& index) const;
|
||||
mac_sch_subpdu_nr& get_subpdu(uint32_t index);
|
||||
bool is_ulsch();
|
||||
|
||||
int init_tx(byte_buffer_t* buffer_, uint32_t pdu_len_, bool is_ulsch_ = false);
|
||||
|
|
|
@ -23,7 +23,7 @@ mac_sch_subpdu_nr::nr_lcid_sch_t mac_sch_subpdu_nr::get_type()
|
|||
return CCCH;
|
||||
}
|
||||
|
||||
bool mac_sch_subpdu_nr::is_sdu()
|
||||
bool mac_sch_subpdu_nr::is_sdu() const
|
||||
{
|
||||
return (lcid <= 32);
|
||||
}
|
||||
|
@ -191,17 +191,17 @@ uint32_t mac_sch_subpdu_nr::write_subpdu(const uint8_t* start_)
|
|||
return ptr - start_;
|
||||
}
|
||||
|
||||
uint32_t mac_sch_subpdu_nr::get_total_length()
|
||||
uint32_t mac_sch_subpdu_nr::get_total_length() const
|
||||
{
|
||||
return (header_length + sdu_length);
|
||||
}
|
||||
|
||||
uint32_t mac_sch_subpdu_nr::get_sdu_length()
|
||||
uint32_t mac_sch_subpdu_nr::get_sdu_length() const
|
||||
{
|
||||
return sdu_length;
|
||||
}
|
||||
|
||||
uint32_t mac_sch_subpdu_nr::get_lcid()
|
||||
uint32_t mac_sch_subpdu_nr::get_lcid() const
|
||||
{
|
||||
return lcid;
|
||||
}
|
||||
|
@ -211,10 +211,15 @@ uint8_t* mac_sch_subpdu_nr::get_sdu()
|
|||
return sdu.ptr();
|
||||
}
|
||||
|
||||
uint16_t mac_sch_subpdu_nr::get_c_rnti()
|
||||
const uint8_t* mac_sch_subpdu_nr::get_sdu() const
|
||||
{
|
||||
return sdu.ptr();
|
||||
}
|
||||
|
||||
uint16_t mac_sch_subpdu_nr::get_c_rnti() const
|
||||
{
|
||||
if (parent->is_ulsch() && lcid == CRNTI) {
|
||||
uint8_t* ptr = sdu.ptr();
|
||||
const uint8_t* ptr = sdu.ptr();
|
||||
return le16toh((uint16_t)ptr[0] << 8 | ptr[1]);
|
||||
}
|
||||
return 0;
|
||||
|
@ -249,24 +254,24 @@ mac_sch_subpdu_nr::ta_t mac_sch_subpdu_nr::get_ta()
|
|||
return ta;
|
||||
}
|
||||
|
||||
mac_sch_subpdu_nr::lcg_bsr_t mac_sch_subpdu_nr::get_sbsr()
|
||||
mac_sch_subpdu_nr::lcg_bsr_t mac_sch_subpdu_nr::get_sbsr() const
|
||||
{
|
||||
lcg_bsr_t sbsr = {};
|
||||
if (parent->is_ulsch() && (lcid == SHORT_BSR || lcid == SHORT_TRUNC_BSR)) {
|
||||
uint8_t* ptr = sdu.ptr();
|
||||
const uint8_t* ptr = sdu.ptr();
|
||||
sbsr.lcg_id = (ptr[0] & 0xe0) >> 5;
|
||||
sbsr.buffer_size = ptr[0] & 0x1f;
|
||||
}
|
||||
return sbsr;
|
||||
}
|
||||
|
||||
mac_sch_subpdu_nr::lbsr_t mac_sch_subpdu_nr::get_lbsr()
|
||||
mac_sch_subpdu_nr::lbsr_t mac_sch_subpdu_nr::get_lbsr() const
|
||||
{
|
||||
lbsr_t lbsr = {};
|
||||
lbsr.list.reserve(mac_sch_subpdu_nr::max_num_lcg_lbsr);
|
||||
|
||||
if (parent->is_ulsch() && (lcid == LONG_BSR || lcid == LONG_TRUNC_BSR)) {
|
||||
uint8_t* ptr = sdu.ptr();
|
||||
const uint8_t* ptr = sdu.ptr();
|
||||
lbsr.bitmap = *ptr; // read LCG bitmap
|
||||
ptr++; // skip LCG bitmap
|
||||
|
||||
|
@ -444,7 +449,12 @@ uint32_t mac_sch_pdu_nr::get_num_subpdus()
|
|||
return subpdus.size();
|
||||
}
|
||||
|
||||
const mac_sch_subpdu_nr& mac_sch_pdu_nr::get_subpdu(const uint32_t& index)
|
||||
const mac_sch_subpdu_nr& mac_sch_pdu_nr::get_subpdu(const uint32_t& index) const
|
||||
{
|
||||
return subpdus.at(index);
|
||||
}
|
||||
|
||||
mac_sch_subpdu_nr& mac_sch_pdu_nr::get_subpdu(uint32_t index)
|
||||
{
|
||||
return subpdus.at(index);
|
||||
}
|
||||
|
@ -551,11 +561,11 @@ uint32_t mac_sch_pdu_nr::add_sudpdu(mac_sch_subpdu_nr& subpdu)
|
|||
return SRSRAN_SUCCESS;
|
||||
}
|
||||
|
||||
void mac_sch_pdu_nr::to_string(fmt::memory_buffer& buffer)
|
||||
void mac_sch_pdu_nr::to_string(fmt::memory_buffer& fmtbuffer)
|
||||
{
|
||||
fmt::format_to(buffer, "{}", is_ulsch() ? "UL" : "DL");
|
||||
fmt::format_to(fmtbuffer, "{}", is_ulsch() ? "UL" : "DL");
|
||||
for (auto& subpdu : subpdus) {
|
||||
subpdu.to_string(buffer);
|
||||
subpdu.to_string(fmtbuffer);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue