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