5#ifndef SRC_NR_MODEL_NR_CONTROL_MESSAGES_H_
6#define SRC_NR_MODEL_NR_CONTROL_MESSAGES_H_
8#include "nr-phy-mac-common.h"
10#include <ns3/ff-mac-common.h>
11#include <ns3/lte-rrc-sap.h>
12#include <ns3/simple-ref-count.h>
194 std::shared_ptr<DciInfoElementTdma> m_dciInfoElement;
237 std::shared_ptr<DciInfoElementTdma> m_dciInfoElement;
326 void SetMib(LteRrcSap::MasterInformationBlock mib);
332 LteRrcSap::MasterInformationBlock
GetMib()
const;
335 LteRrcSap::MasterInformationBlock m_mib;
358 void SetSib1(LteRrcSap::SystemInformationBlockType1 sib1);
364 LteRrcSap::SystemInformationBlockType1
GetSib1()
const;
367 LteRrcSap::SystemInformationBlockType1 m_sib1;
466 std::list<Rar>::const_iterator
RarListEnd()
const;
469 std::list<Rar> m_rarList;
NrBsrMessage()
NrBsrMessage constructor.
MacCeElement GetBsr()
Get BSR information.
void SetBsr(MacCeElement bsr)
add a BSR feedback record into the message.
~NrBsrMessage() override
~NrBsrMessage
The NrControlMessage class.
virtual ~NrControlMessage()
~NrControlMessage
void SetSourceBwp(uint16_t bwpId)
Set the BWP in which this message has been generated.
messageType GetMessageType() const
Get the MessageType.
uint16_t GetSourceBwp() const
NrControlMessage()
NrControlMessage.
void SetMessageType(messageType type)
Set the MessageType.
messageType
The Message Type.
@ UL_DCI
The resources allocation map from the BS to the attached UEs (UL)
@ DL_HARQ
DL HARQ feedback.
@ RACH_PREAMBLE
Random Access Preamble.
@ MIB
Master Information Block.
@ SR
Scheduling Request: asking for space.
@ BSR
Buffer Status Report.
@ RAR
Random Access Response.
@ SIB1
System Information Block Type 1.
@ DL_DCI
The resources allocation map from the BS to the attached UEs (DL)
The message that represents a DL CQI message.
DlCqiInfo GetDlCqi()
Get the DlCqi in this message.
void SetDlCqi(DlCqiInfo cqi)
Set the DlCqi to transmit.
~NrDlCqiMessage() override
~NrDlCqiMessage
NrDlCqiMessage()
NrDlCqiMessage constructor.
The message that represents a DL DCI message.
std::shared_ptr< DciInfoElementTdma > GetDciInfoElement()
Get the DCI.
void SetK1Delay(uint32_t delay)
Set the delay (in slots) between DL Data reception and subframe to which it applies for Harq feedback...
~NrDlDciMessage() override
~NrDlDciMessage
uint32_t GetKDelay() const
Get the delay (in slots) between DCI reception and subframe to which it applies for reception/transmi...
uint32_t GetK1Delay() const
Get the delay (in slots) between DL Data reception and subframe to which it applies for Harq feedback...
void SetKDelay(uint32_t delay)
Set the delay (in slots) between DL DCI reception and subframe to which it applies for reception/tran...
void SetDlHarqFeedback(DlHarqInfo m)
add a DL HARQ feedback record into the message.
~NrDlHarqFeedbackMessage() override
~NrDlHarqFeedbackMessage
NrDlHarqFeedbackMessage()
NrDlHarqFeedbackMessage constructor.
DlHarqInfo GetDlHarqFeedback()
Get DL HARQ information.
Abstract model for broadcasting the Master Information Block (MIB) within the control channel (BCCH).
LteRrcSap::MasterInformationBlock GetMib() const
Retrieve the MIB content from this control message.
void SetMib(LteRrcSap::MasterInformationBlock mib)
Replace the MIB content of this control message.
NrMibMessage()
Create a new instance of MIB control message.
Abstract model for the Random Access Preamble.
NrRachPreambleMessage()
NrRachPreambleMessage constructor.
~NrRachPreambleMessage() override
~NrRachPreambleMessage
void SetRapId(uint32_t rapid)
uint32_t GetRapId() const
Abstract model for the MAC Random Access Response message.
std::list< Rar >::const_iterator RarListBegin() const
void SetRaRnti(uint16_t raRnti)
std::list< Rar >::const_iterator RarListEnd() const
NrRarMessage()
NrRarMessage constructor.
~NrRarMessage() override
~NrRarMessage
uint16_t GetRaRnti() const
NrSRMessage()
NrSRMessage constructor.
~NrSRMessage() override
~NrSRMessage
uint16_t GetRNTI() const
Get the RNTI of this message.
void SetRNTI(uint16_t rnti)
Set the RNTI to which this message is intended.
Abstract model for broadcasting the System Information Block Type 1 (SIB1) within the control channel...
NrSib1Message()
Create a new instance of SIB1 control message.
void SetSib1(LteRrcSap::SystemInformationBlockType1 sib1)
Replace the SIB1 content of this control message.
LteRrcSap::SystemInformationBlockType1 GetSib1() const
Retrieve the SIB1 content from this control message.
NrSrsMessage()
NrDlHarqFeedbackMessage constructor.
~NrSrsMessage() override=default
~NrDlHarqFeedbackMessage
The message that represents a UL DCI message.
uint32_t GetKDelay() const
Get the delay (in slots) between UCI reception and subframe to which it applies for reception/transmi...
void SetKDelay(uint32_t delay)
Set the delay (in slots) between UCI reception and subframe to which it applies for reception/transmi...
~NrUlDciMessage() override
~NrUlDciMessage
std::shared_ptr< DciInfoElementTdma > GetDciInfoElement()
Get the DCI.
LteNrTddSlotType
Available TDD slot types. Ordering is important.
@ F
DL CTRL + DL DATA + UL DATA + UL CTRL.
@ S
DL CTRL + DL DATA + UL CTRL.
A struct that contains info for the DL HARQ.
See section 4.3.14 macCEListElement.
BuildRarListElement_s rarPayload
RA Payload.