22 #ifndef WIMAX_BS_NET_DEVICE_H
23 #define WIMAX_BS_NET_DEVICE_H
26 #include "ns3/event-id.h"
28 #include "ns3/nstime.h"
29 #include "ns3/mac48-address.h"
30 #include "ns3/ipv4-address.h"
31 #include "ns3/bs-service-flow-manager.h"
42 class BurstProfileManager;
44 class UplinkScheduler;
45 class BsServiceFlowManager;
void SetUcdInterval(Time ucdInterval)
BaseStationNetDevice(void)
void RangingOppStart(void)
uint8_t m_rangingOppNumber
keep track of time values and allow control of global simulation resolution
Time GetIntervalT8(void) const
void SetNrDlSymbols(uint32_t dlSymbols)
void StartDlSubFrame(void)
uint32_t GetNrDcdSent(void) const
uint16_t m_nrSsRegistered
void MarkRangingOppStart(Time rangingOppStartTime)
forward calls to a chain of CallbackAn ns3::TracedCallback has almost exactly the same API as a norma...
void SetLinkManager(Ptr< BSLinkManager > linkManager)
Ptr< BSScheduler > GetBSScheduler(void) const
TracedCallback< Ptr< const Packet > > m_bsRxTrace
The trace source fired for packets successfully received by the device immediately before being forwa...
uint8_t GetMaxRangingCorrectionRetries(void) const
Time m_initialRangInterval
void SetBSScheduler(Ptr< BSScheduler > bsSchedule)
uint8_t GetRangReqOppSize(void) const
Ptr< Packet > CreateUcd(void)
void SetMaxInvitedRangRetries(uint8_t maxInvitedRangRetries)
void SetIntervalT8(Time interval)
void SetBsClassifier(Ptr< IpcsClassifier > classifier)
void UplinkAllocationEnd(Cid cid, uint8_t uiuc)
uint16_t m_nrUlAllocations
Time GetDcdInterval(void) const
Ptr< Packet > CreateUlMap(void)
uint32_t m_framesSinceLastDcd
void MarkUplinkAllocationStart(Time allocationStartTime)
uint8_t GetMaxInvitedRangRetries(void) const
TracedCallback< Ptr< const Packet > > m_bsRxDropTrace
The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer ...
bool Enqueue(Ptr< Packet > packet, const MacHeaderType &hdrType, Ptr< WimaxConnection > connection)
Enqueue a packet into a connection queue.
void SetRangReqOppSize(uint8_t rangReqOppSize)
TracedCallback< Ptr< const Packet > > m_bsTxDropTrace
The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer ...
Time GetInitialRangingInterval(void) const
Time GetSymbolDuration(void) const
Doxygen introspection did not find any typical Config paths.
static TypeId GetTypeId(void)
Time GetPsDuration(void) const
uint16_t m_nrDlAllocations
Ptr< UplinkScheduler > GetUplinkScheduler(void) const
void SetInitialRangingInterval(Time initialRangInterval)
Ptr< IpcsClassifier > GetBsClassifier(void) const
uint32_t m_allocationStartTime
Ptr< BSLinkManager > m_linkManager
Doxygen introspection did not find any typical Config paths.
~BaseStationNetDevice(void)
Ptr< IpcsClassifier > m_bsClassifier
Ptr< Packet > CreateDlMap(void)
Ptr< BsServiceFlowManager > GetServiceFlowManager(void) const
uint8_t GetBwReqOppSize(void) const
Hold together all Wimax-related objects in a NetDevice.
TracedCallback< Ptr< const Packet >, Mac48Address, Cid > m_traceBSRx
uint8_t GetRangingOppNumber(void) const
Ptr< BSScheduler > m_scheduler
void SetDcdInterval(Time dcdInterval)
TracedCallback< Ptr< const Packet > > m_bsPromiscRxTrace
The trace source fired for packets successfully received by the device immediately before being forwa...
void CreateMapMessages(void)
creates the MAC management messages DL-MAP and UL-MAP
bool DoSend(Ptr< Packet > packet, const Mac48Address &source, const Mac48Address &dest, uint16_t protocolNumber)
TracedCallback< Ptr< const Packet > > m_bsTxTrace
The trace source fired when packets come into the "top" of the device at the L3/L2 transition...
Ptr< SSManager > m_ssManager
void SetUplinkScheduler(Ptr< UplinkScheduler > ulScheduler)
uint32_t GetNrDlSymbols(void) const
void DoReceive(Ptr< Packet > packet)
void CreateDescriptorMessages(bool sendDcd, bool senUcd)
creates the channel descriptor MAC management messages DCD and UCD
void StartUlSubFrame(void)
void SetDlBurstProfiles(Dcd *dcd)
uint32_t GetNrUlSymbols(void) const
void SetMaxRangingCorrectionRetries(uint8_t maxRangCorrectionRetries)
uint32_t m_dcdConfigChangeCount
uint8_t m_maxRangCorrectionRetries
uint8_t m_ulAllocationNumber
Time m_dlSubframeStartTime
Ptr< BSLinkManager > GetLinkManager(void) const
Time GetUcdInterval(void) const
void SetBwReqOppSize(uint8_t bwReqOppSize)
Ptr< SSManager > GetSSManager(void) const
uint32_t m_framesSinceLastUcd
void MarkUplinkAllocationEnd(Time allocationEndTime, Cid cid, uint8_t uiuc)
Ptr< BsServiceFlowManager > m_serviceFlowManager
Time m_ulSubframeStartTime
Ptr< UplinkScheduler > m_uplinkScheduler
void SetUlBurstProfiles(Ucd *ucd)
Ptr< WimaxConnection > GetConnection(Cid cid)
void SetSSManager(Ptr< SSManager > ssManager)
Time GetDlSubframeStartTime(void) const
uint32_t m_ucdConfigChangeCount
void InitBaseStationNetDevice(void)
initializes the BS net device and sets its parameters to the default values
void SetServiceFlowManager(Ptr< BsServiceFlowManager >)
This class is used exclusively by the BS to allocate CIDs to new connections.
void DoDispose(void)
This method is called by Object::Dispose or by the object's destructor, whichever comes first...
void MarkUplinkAllocations(void)
CidFactory * m_cidFactory
void SetNrUlSymbols(uint32_t ulSymbols)
void UplinkAllocationStart(void)
a unique identifier for an interface.
Time GetUlSubframeStartTime(void) const
uint8_t m_maxInvitedRangRetries
uint32_t GetNrUcdSent(void) const
Ptr< Packet > CreateDcd(void)