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)
 
uint8_t m_rangReqOppSize
in symbols 
 
BaseStationNetDevice(void)
 
void RangingOppStart(void)
Ranging opp start. 
 
uint8_t m_rangingOppNumber
current ranging TO number 
 
Simulation virtual time values and global simulation resolution. 
 
Time GetIntervalT8(void) const 
 
void SetNrDlSymbols(uint32_t dlSymbols)
 
void StartDlSubFrame(void)
Start DL subframe function. 
 
uint32_t GetNrDcdSent(void) const 
 
uint16_t m_nrSsRegistered
number SS registered 
 
void MarkRangingOppStart(Time rangingOppStartTime)
Mark ranging opp start. 
 
void EndUlSubFrame(void)
End UL subframe function. 
 
Forward calls to a chain of Callback. 
 
void SetLinkManager(Ptr< BSLinkManager > linkManager)
 
Ptr< BSScheduler > GetBSScheduler(void) const 
 
void CreateDescriptorMessages(bool sendDcd, bool sendUcd)
creates the channel descriptor MAC management messages DCD and UCD 
 
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
in seconds 
 
void SetBSScheduler(Ptr< BSScheduler > bsSchedule)
 
uint8_t GetRangReqOppSize(void) const 
 
void EndFrame(void)
End frame function. 
 
Ptr< Packet > CreateUcd(void)
Create UCD. 
 
void SetMaxInvitedRangRetries(uint8_t maxInvitedRangRetries)
 
void SetIntervalT8(Time interval)
 
void SetBsClassifier(Ptr< IpcsClassifier > classifier)
 
void UplinkAllocationEnd(Cid cid, uint8_t uiuc)
Uplink allocation end. 
 
uint16_t m_nrUlAllocations
number UL allocations 
 
uint32_t m_nrUlFrames
number UL frames 
 
Time GetDcdInterval(void) const 
 
Ptr< Packet > CreateUlMap(void)
Create UL map. 
 
uint32_t m_framesSinceLastDcd
frames since last DCD 
 
void MarkUplinkAllocationStart(Time allocationStartTime)
Mark uplink allocation start. 
 
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. 
 
uint8_t m_bwReqOppSize
in symbols 
 
uint32_t m_nrDlMapSent
number DL map sent 
 
void Stop(void)
Stop device. 
 
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 
 
This class implements the UCD message as described by "IEEE Standard for Local and metropolitan area ...
 
static TypeId GetTypeId(void)
Get the type ID. 
 
uint32_t m_nrDlSymbols
number of DL symbols 
 
Time GetPsDuration(void) const 
 
uint16_t m_nrDlAllocations
number DL allocations 
 
Ptr< UplinkScheduler > GetUplinkScheduler(void) const 
 
void SetInitialRangingInterval(Time initialRangInterval)
 
uint32_t m_nrDlFrames
number DL frames 
 
Ptr< IpcsClassifier > GetBsClassifier(void) const 
 
uint32_t m_allocationStartTime
allocation start time 
 
Ptr< BSLinkManager > m_linkManager
the link manager 
 
This class implements Downlink channel descriptor as described by "IEEE Standard for Local and metrop...
 
~BaseStationNetDevice(void)
 
Ptr< IpcsClassifier > m_bsClassifier
the base station classifier 
 
Ptr< Packet > CreateDlMap(void)
Create DL map. 
 
void SendBursts(void)
Send burst function. 
 
Ptr< BsServiceFlowManager > GetServiceFlowManager(void) const 
 
Time m_symbolDuration
symbol duration 
 
uint8_t GetBwReqOppSize(void) const 
 
Hold together all WiMAX-related objects in a NetDevice. 
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
void EndDlSubFrame(void)
End DL subframe function. 
 
TracedCallback< Ptr< const Packet >, Mac48Address, Cid > m_traceBSRx
the base station receive trace callback 
 
uint8_t GetRangingOppNumber(void) const 
 
Ptr< BSScheduler > m_scheduler
the base station scheduler 
 
Time m_intervalT8
in milliseconds, wait for DSA/DSC Acknowledge timeout 
 
Time m_ucdInterval
in seconds 
 
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...
 
uint32_t m_nrUcdSent
number UCD sent 
 
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)
Send packet. 
 
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
the SS manager 
 
void SetUplinkScheduler(Ptr< UplinkScheduler > ulScheduler)
 
uint32_t GetNrDlSymbols(void) const 
 
void DoReceive(Ptr< Packet > packet)
Receive packet. 
 
void StartUlSubFrame(void)
Start UL subframe function. 
 
Time m_psDuration
ps duration 
 
void SetDlBurstProfiles(Dcd *dcd)
Send DL burst profiles. 
 
Time m_dcdInterval
in seconds 
 
void Start(void)
Start device. 
 
uint32_t GetNrUlSymbols(void) const 
 
void SetMaxRangingCorrectionRetries(uint8_t maxRangCorrectionRetries)
 
uint32_t m_dcdConfigChangeCount
DCD config change count. 
 
uint8_t m_maxRangCorrectionRetries
maximum range correction retries 
 
uint32_t m_nrUlMapSent
number UL map sent 
 
uint8_t m_ulAllocationNumber
to see UL burst number 
 
Time m_dlSubframeStartTime
DL subframe start time. 
 
Ptr< BSLinkManager > GetLinkManager(void) const 
 
Time GetUcdInterval(void) const 
 
void SetBwReqOppSize(uint8_t bwReqOppSize)
 
void StartFrame(void)
Start frame function. 
 
Ptr< SSManager > GetSSManager(void) const 
 
uint32_t m_framesSinceLastUcd
frames since last UCD 
 
void MarkUplinkAllocationEnd(Time allocationEndTime, Cid cid, uint8_t uiuc)
Mark uplink allocation end. 
 
Ptr< BsServiceFlowManager > m_serviceFlowManager
the service flow manager 
 
Time m_ulSubframeStartTime
UL subframe start time. 
 
Ptr< UplinkScheduler > m_uplinkScheduler
the uplink scheduler 
 
void SetUlBurstProfiles(Ucd *ucd)
Send UL burst profiles. 
 
Ptr< WimaxConnection > GetConnection(Cid cid)
 
void SetSSManager(Ptr< SSManager > ssManager)
 
uint32_t m_nrDcdSent
number DCD sent 
 
Time GetDlSubframeStartTime(void) const 
 
uint32_t m_ucdConfigChangeCount
UCD config change count. 
 
void InitBaseStationNetDevice(void)
initializes the BS net device and sets its parameters to the default values 
 
void SetServiceFlowManager(Ptr< BsServiceFlowManager >)
Set service flow manager. 
 
This class is used exclusively by the BS to allocate CIDs to new connections. 
 
virtual void DoDispose(void)
Destructor implementation. 
 
void MarkUplinkAllocations(void)
Mark uplink allocations. 
 
CidFactory * m_cidFactory
the CID factory 
 
void SetNrUlSymbols(uint32_t ulSymbols)
 
uint32_t m_nrUlSymbols
number of UL symbols 
 
void UplinkAllocationStart(void)
Uplink allocation start. 
 
a unique identifier for an interface. 
 
MacPreamble
MacPreamble enumeration. 
 
Time GetUlSubframeStartTime(void) const 
 
uint8_t m_maxInvitedRangRetries
maximum invited range retries 
 
uint32_t GetNrUcdSent(void) const 
 
Ptr< Packet > CreateDcd(void)
Create DCD.