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