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
 
Simulation virtual time values and 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 Callback. 
 
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 
 
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
 
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. 
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
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)
Destructor implementation. 
 
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)