5#ifndef NR_UE_NET_DEVICE_H
6#define NR_UE_NET_DEVICE_H
8#include "nr-net-device.h"
10#include "ns3/deprecated.h"
20class NrUeComponentCarrierManager;
26class NrInitialAssociation;
72 Ptr<NrUePhy>
GetPhy(uint8_t index)
const;
79 Ptr<NrUeMac>
GetMac(uint8_t index)
const;
113 Ptr<NrEpcUeNas>
GetNas()
const;
119 Ptr<NrUeRrc>
GetRrc()
const;
145 void SetCcMap(std::map<uint8_t, Ptr<BandwidthPartUe>> ccm);
151 std::map<uint8_t, Ptr<BandwidthPartUe>>
GetCcMap();
178 void RouteIngoingCtrlMsgs(
const std::list<Ptr<NrControlMessage>>& msgList, uint8_t sourceBwpId);
186 uint8_t sourceBwpId);
194 NS_DEPRECATED(
"Obsolete method")
199 void DoInitialize()
override;
200 void DoDispose()
override;
203 bool DoSend(Ptr<Packet> packet,
const Address& dest, uint16_t protocolNumber)
override;
206 Ptr<NrGnbNetDevice> m_targetGnb;
208 Ptr<NrEpcUeNas> m_nas;
209 Ptr<NrInitialAssociation> m_nrInitAcc;
212 uint16_t m_primaryDlIndex;
213 uint16_t m_primaryUlIndex;
215 std::map<uint8_t, Ptr<BandwidthPartUe>> m_ccMap;
216 Ptr<NrUeComponentCarrierManager> m_componentCarrierManager;
The User Equipment NetDevice.
void UpdateConfig()
Update the RRC config. Must be called only once.
uint64_t GetImsi() const
Get the Imsi.
Ptr< NrUeRrc > GetRrc() const
Get a Rrc pointer.
uint16_t GetCellId() const
Get the CellId.
std::map< uint8_t, Ptr< BandwidthPartUe > > GetCcMap()
Get the NrComponentCarrier Map for the UE.
void RouteIngoingCtrlMsgs(const std::list< Ptr< NrControlMessage > > &msgList, uint8_t sourceBwpId)
The UE received a CTRL message list.
void SetImsi(uint64_t imsi)
Set the IMSI.
static TypeId GetTypeId()
GetTypeId.
Ptr< NrUeMac > GetMac(uint8_t index) const
Obtain a pointer to the MAC at the index specified.
Ptr< const NrGnbNetDevice > GetTargetGnb() const
Obtain a pointer to the target gnb.
void RouteOutgoingCtrlMsgs(const std::list< Ptr< NrControlMessage > > &msgList, uint8_t sourceBwpId)
Route the outgoing messages to the right BWP.
void SetTargetGnb(Ptr< NrGnbNetDevice > gnb)
Set the GNB to which this UE is attached to.
NrUeNetDevice()
NrUeNetDevice.
void SetCsgId(uint32_t csgId)
SetCsgId ?
Ptr< NrEpcUeNas > GetNas() const
Get a pointer to the Nas.
Ptr< NrUePhy > GetPhy(uint8_t index) const
Obtain a pointer to the PHY at the index specified.
void SetInitAssoc(Ptr< NrInitialAssociation > initAssoc)
Set the Nr Initial Association.
Ptr< BwpManagerUe > GetBwpManager() const
Get the bandwidth part manager.
void EnqueueDlHarqFeedback(const DlHarqInfo &m) const
Spectrum has calculated the HarqFeedback for one DL transmission, and give it to the NetDevice of the...
uint32_t GetCcMapSize() const
Get the size of the component carriers map.
uint32_t GetCsgId() const
GetCsgId ?
~NrUeNetDevice() override
~NrUeNetDevice
void SetCcMap(std::map< uint8_t, Ptr< BandwidthPartUe > > ccm)
Set the NrComponentCarrier Map for the UE.
A struct that contains info for the DL HARQ.