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
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
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
Time GetInitialRangingInterval(void) const
Time GetSymbolDuration(void) const
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
~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.This class holds together ns3::WimaxPhy, ns3::WimaxConnection, ns3::ConectionManager, ns3::BurstProfileManager, and ns3::BandwidthManager.
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
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
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 >)
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)