22 #ifndef LTE_UE_MAC_ENTITY_H 23 #define LTE_UE_MAC_ENTITY_H 29 #include <ns3/lte-mac-sap.h> 30 #include <ns3/lte-ue-cmac-sap.h> 31 #include <ns3/lte-ue-phy-sap.h> 32 #include <ns3/nstime.h> 33 #include <ns3/event-id.h> 35 #include <ns3/packet.h> 36 #include <ns3/packet-burst.h> 41 class UniformRandomVariable;
266 #endif // LTE_UE_MAC_ENTITY void DoStartNonContentionBasedRandomAccessProcedure(uint16_t rnti, uint8_t rapId, uint8_t prachMask)
Start non contention based random access procedure function.
LteUeCmacSapProvider::LogicalChannelConfig lcConfig
logical channel config
Simulation virtual time values and global simulation resolution.
void DoReset()
Reset function.
uint8_t m_raPreambleId
RA preamble ID.
void SendRaPreamble(bool contention)
Send RA preamble function.
void StartWaitingForRaResponse()
Start waiting for RA response function.
void DoReceivePhyPdu(Ptr< Packet > p)
Receive Phy PDU function.
Ptr< UniformRandomVariable > m_raPreambleUniformVariable
RA preamble random variable.
LteUePhySapUser * m_uePhySapUser
UE Phy SAP user.
void DoSetRnti(uint16_t rnti)
Set RNTI.
UeMemberLteMacSapProvider class.
void RaResponseTimeout(bool contention)
RA response timeout function.
See section 4.3.10 buildRARListElement.
void DoAddLc(uint8_t lcId, LteUeCmacSapProvider::LogicalChannelConfig lcConfig, LteMacSapUser *msu)
Add LC function.
void SetLteUePhySapProvider(LteUePhySapProvider *s)
Set the PHY SAP Provider.
LteMacSapUser * macSapUser
MAC SAP user.
Service Access Point (SAP) offered by the PHY to the MAC.
UeMemberLteUeCmacSapProvider class.
void DoStartContentionBasedRandomAccessProcedure()
Start contention based random access procedure function.
void SendReportBufferStatus(void)
Send report buffer status.
void DoRemoveLc(uint8_t lcId)
Remove LC function.
Parameters for LteMacSapProvider::ReportBufferStatus.
std::vector< uint8_t > m_miUlHarqProcessesPacketTimer
timer for packet life in the buffer
void SetLteUeCmacSapUser(LteUeCmacSapUser *s)
Set the LTE UE CMAC SAP user.
void DoTransmitPdu(LteMacSapProvider::TransmitPduParameters params)
Transmit PDU function.
uint8_t m_harqProcessId
HARQ process ID.
uint32_t m_frameNo
frame number
bool m_waitingForRaResponse
waiting for RA response
void DoReportBufferStatus(LteMacSapProvider::ReportBufferStatusParameters params)
Report buffers status function.
LteUeCmacSapProvider * m_cmacSapProvider
CMAC SAP provider.
std::vector< Ptr< PacketBurst > > m_miUlHarqProcessesPacket
Packets under transmission of the UL HARQ processes.
LteUeCmacSapProvider * GetLteUeCmacSapProvider(void)
Get the LTE CMAC SAP provider.
Service Access Point (SAP) offered by the UE MAC to the UE RRC.
void SetComponentCarrierId(uint8_t index)
Set the component carried ID.
LogicalChannelConfig structure.
void DoConfigureRach(LteUeCmacSapProvider::RachConfig rc)
Configure RACH function.
void DoSubframeIndication(uint32_t frameNo, uint32_t subframeNo)
Forwarded from LteUePhySapUser: trigger the start from a new frame.
void DoReceiveLteControlMessage(Ptr< LteControlMessage > msg)
Receive LTE control message function.
std::map< uint8_t, LcInfo > m_lcInfoMap
logical channel info map
LteUePhySapUser * GetLteUePhySapUser()
Get the PHY SAP user.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
LteMacSapProvider * GetLteMacSapProvider(void)
Get the LTE MAC SAP provider.
uint16_t m_backoffParameter
backoff parameter
static TypeId GetTypeId(void)
Get the type ID.
LteMacSapProvider * m_macSapProvider
MAC SAP provider.
Service Access Point (SAP) offered by the UE MAC to the UE RRC.
LteUePhySapProvider * m_uePhySapProvider
UE Phy SAP provider.
uint8_t m_componentCarrierId
component carrier Id –> used to address sap
bool m_freshUlBsr
true when a BSR has been received in the last TTI
void RandomlySelectAndSendRaPreamble()
Randomly sleect and send RA preamble function.
void RecvRaResponse(BuildRarListElement_s raResponse)
Receive the RA response function.
uint8_t m_preambleTransmissionCounter
preamble tranamission counter
An identifier for simulation events.
Service Access Point (SAP) offered by the MAC to the RLC See Femto Forum MAC Scheduler Interface Spec...
EventId m_noRaResponseReceivedEvent
no RA response received event ID
bool m_rachConfigured
is RACH configured?
virtual void DoDispose(void)
Destructor implementation.
LteUeCmacSapProvider::RachConfig m_rachConfig
RACH configuration.
Service Access Point (SAP) offered by the UE-PHY to the UE-MAC.
Service Access Point (SAP) offered by the MAC to the RLC See Femto Forum MAC Scheduler Interface Spec...
Time m_bsrPeriodicity
BSR periodicity.
uint32_t m_subframeNo
subframe number
std::map< uint8_t, LteMacSapProvider::ReportBufferStatusParameters > m_ulBsrReceived
BSR received from RLC (the last one)
A base class which provides memory management and object aggregation.
int64_t AssignStreams(int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model...
a unique identifier for an interface.
void RefreshHarqProcessesPacketBuffer(void)
Refresh HARQ processes packet buffer function.
LteUeCmacSapUser * m_cmacSapUser
CMAC SAP user.
Parameters for LteMacSapProvider::TransmitPdu.