23 #ifndef WIMAX_SS_NET_DEVICE_H 
   24 #define WIMAX_SS_NET_DEVICE_H 
   26 #include "ns3/event-id.h" 
   28 #include "ns3/nstime.h" 
   30 #include "ns3/uinteger.h" 
   31 #include "ns3/ss-service-flow-manager.h" 
   37 class OfdmDlBurstProfile;
 
   38 class OfdmUlBurstProfile;
 
   41 class SsServiceFlowManager;
 
void SetIntervalT3(Time interval3)
 
void SetTimer(EventId eventId, EventId &event)
Set timer. 
 
Cid GetBasicCid(void) const 
 
Simulation virtual time values and global simulation resolution. 
 
void SetIntervalT1(Time interval1)
 
Time GetIntervalT2(void) const 
 
static Time GetDefaultLostDlMapInterval()
Get default lost DL map interval. 
 
Time m_intervalT21
in seconds, time the SS searches for (decodable) DL-MAP on a given channel 
 
This class implements DL-MAP as described by "IEEE Standard for Local and metropolitan area networks ...
 
void SetLostDlMapInterval(Time lostDlMapInterval)
 
void ProcessUcd(const Ucd &ucd)
Process UCD. 
 
Time GetMaxUcdInterval(void) const 
 
void ProcessDcd(const Dcd &dcd)
Process DCD. 
 
void SetIntervalT21(Time interval21)
 
Ptr< WimaxConnection > m_basicConnection
basci connection 
 
Ptr< WimaxConnection > m_primaryConnection
primary connection 
 
bool HasServiceFlows(void) const 
 
void SetIntervalT2(Time interval2)
 
void SetModulationType(WimaxPhy::ModulationType modulationType)
Set the most efficient modulation and coding scheme (MCS) supported by the device. 
 
Forward calls to a chain of Callback. 
 
bool GetAreManagementConnectionsAllocated(void) const 
 
void ProcessDlMap(const DlMap &dlmap)
Process DL map. 
 
EventId m_lostUlMapEvent
lost UL map event 
 
void SetMaxDcdInterval(Time maxDcdInterval)
 
void SetAreManagementConnectionsAllocated(bool areManagementConnectionsAllocated)
 
uint32_t m_nrUcdRecvd
number UCD received 
 
Time GetIntervalT7(void) const 
 
void SetLostUlMapInterval(Time lostUlMapInterval)
 
Time GetLostUlMapInterval(void) const 
 
This class implements the UL burst profile as described by "IEEE Standard for Local and metropolitan ...
 
void SetScheduler(Ptr< SSScheduler > ssScheduler)
 
Time m_lostDlMapInterval
in milliseconds, time since last received DL-MAP before downlink synchronization is considered lost...
 
void SetMaxUcdInterval(Time maxUcdInterval)
 
Time GetIntervalT12(void) const 
 
void Start(void)
Start the device. 
 
Ptr< IpcsClassifier > GetIpcsClassifier() const 
 
Mac48Address m_baseStationId
base station ID 
 
TracedCallback< Ptr< const Packet > > m_ssPromiscRxTrace
The trace source fired for packets successfully received by the device immediately before being forwa...
 
Ptr< SSScheduler > m_scheduler
the scheduler 
 
void ProcessUlMap(const UlMap &ulmap)
Process UL map. 
 
bool m_areServiceFlowsAllocated
are service flows allocated 
 
~SubscriberStationNetDevice(void)
 
bool IsRegistered(void) const 
 
Cid GetPrimaryCid(void) const 
 
Time m_intervalT3
in milliseconds, ranging Response reception timeout following the transmission of a ranging request ...
 
Ptr< SSScheduler > GetScheduler(void) const 
 
void DoReceive(Ptr< Packet > packet)
Receive a packet. 
 
TracedCallback< Ptr< const Packet > > m_ssRxTrace
The trace source fired for packets successfully received by the device immediately before being forwa...
 
Time m_intervalT20
in seconds, time the SS searches for preambles on a given channel 
 
uint32_t m_nrDlMapRecvd
number DL map received 
 
SubscriberStationNetDevice(void)
 
Time m_intervalT7
in seconds, wait for DSA/DSC/DSD Response timeout 
 
void SetIntervalT20(Time interval20)
 
void SetMaxContentionRangingRetries(uint8_t maxContentionRangingRetries)
 
uint8_t m_maxContentionRangingRetries
maximum contention ranging retries 
 
double m_allocationStartTime
allocation start time 
 
uint32_t m_nrDcdRecvd
number DCD received 
 
void SetIntervalT12(Time interval12)
 
bool DoSend(Ptr< Packet > packet, const Mac48Address &source, const Mac48Address &dest, uint16_t protocolNumber)
Send a packet. 
 
bool Enqueue(Ptr< Packet > packet, const MacHeaderType &hdrType, Ptr< WimaxConnection > connection)
Enqueue a packet into a connection queue. 
 
TracedCallback< Ptr< const Packet > > m_ssTxDropTrace
The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer ...
 
This class implements the UCD message as described by "IEEE Standard for Local and metropolitan area ...
 
Time m_intervalT12
in seconds, wait for UCD descriptor 
 
Ptr< SsServiceFlowManager > m_serviceFlowManager
the service flow manager 
 
Ptr< SSLinkManager > GetLinkManager(void) const 
 
TracedCallback< Ptr< const Packet > > m_ssTxTrace
The trace source fired when packets come into the "top" of the device at the L3/L2 transition...
 
void SetLinkManager(Ptr< SSLinkManager > linkManager)
sets the link manager to be used 
 
EventId m_ucdWaitTimeoutEvent
UCD wait timeout event. 
 
This class implements Downlink channel descriptor as described by "IEEE Standard for Local and metrop...
 
void SendBurst(uint8_t uiuc, uint16_t nrSymbols, Ptr< WimaxConnection > connection, MacHeaderType::HeaderType packetType=MacHeaderType::HEADER_TYPE_GENERIC)
Sends a burst on the uplink frame. 
 
TracedCallback< Ptr< const Packet > > m_ssRxDropTrace
The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer ...
 
ModulationType
ModulationType enumeration. 
 
Time m_maxDcdInterval
in seconds, maximum time between transmission of DCD messages 
 
EventId m_lostDlMapEvent
lost DL map event 
 
Hold together all WiMAX-related objects in a NetDevice. 
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
static TypeId GetTypeId(void)
Get the type ID. 
 
void DoDispose(void)
Destructor implementation. 
 
WimaxPhy::ModulationType GetModulationType(void) const 
 
Time m_lostUlMapInterval
in milliseconds, time since last received UL-MAP before uplink synchronization is considered lost...
 
This class implements service flows as described by the IEEE-802.16 standard. 
 
Ptr< SSLinkManager > m_linkManager
link manager 
 
void SetBasicConnection(Ptr< WimaxConnection > basicConnection)
 
TracedCallback< Ptr< const Packet >, Mac48Address, const Cid & > m_traceSSRx
trace SS receive callback 
 
Ptr< WimaxConnection > GetBasicConnection(void) const 
 
void SetAreServiceFlowsAllocated(bool areServiceFlowsAllocated)
 
uint16_t m_nrDlMapElements
number DL Map elements 
 
void SetIpcsPacketClassifier(Ptr< IpcsClassifier > classifier)
Sets the packet classifier to be used. 
 
Time GetIntervalT21(void) const 
 
EventId m_rangOppWaitTimeoutEvent
range opp wait timeout event 
 
bool m_areManagementConnectionsAllocated
are management connections allocated 
 
An identifier for simulation events. 
 
Time m_intervalT2
in seconds, wait for broadcast ranging timeout, i.e., wait for initial ranging opportunity ...
 
Time GetIntervalT1(void) const 
 
This class implements the UL-MAP_IE message as described by "IEEE Standard for Local and metropolitan...
 
Time GetMaxDcdInterval(void) const 
 
void SetIntervalT7(Time interval7)
 
EventType
EventType enumeration. 
 
OfdmDlBurstProfile * m_dlBurstProfile
DL burst profile. 
 
Time GetLostDlMapInterval(void) const 
 
SubscriberStationNetDevice subclass of WimaxNetDevice. 
 
Time m_intervalT1
in seconds, wait for DCD timeout 
 
Time GetIntervalT20(void) const 
 
Time m_maxUcdInterval
in seconds, maximum time between transmission of UCD messages 
 
Ptr< IpcsClassifier > m_classifier
the classifier 
 
void InitSubscriberStationNetDevice(void)
initializes the net device and sets the parameters to the default values 
 
uint8_t m_ucdCount
UCD count. 
 
WimaxPhy::ModulationType m_modulationType
modulation type 
 
Time GetTimeToAllocation(Time deferTime)
Get time to allocation. 
 
OfdmUlBurstProfile * m_ulBurstProfile
UL burst profile. 
 
Ptr< SsServiceFlowManager > GetServiceFlowManager(void) const 
 
void AddServiceFlow(ServiceFlow *sf)
adds a new service flow 
 
a unique identifier for an interface. 
 
uint16_t m_nrUlMapElements
number UL Map elements 
 
void SetServiceFlowManager(Ptr< SsServiceFlowManager > sfm)
Sets the service flow manager to be installed on the device. 
 
uint8_t m_dcdCount
DCD count. 
 
uint32_t m_nrUlMapRecvd
number UL map received 
 
void SetPrimaryConnection(Ptr< WimaxConnection > primaryConnection)
 
This class implements the OFDM Downlink burst profile descriptor as described by "IEEE Standard for L...
 
uint8_t GetMaxContentionRangingRetries(void) const 
 
Ptr< WimaxConnection > GetPrimaryConnection(void) const 
 
HeaderType
Header type enumeration. 
 
void Stop(void)
Stop the device. 
 
bool GetAreServiceFlowsAllocated(void) const 
 
EventId m_dcdWaitTimeoutEvent
DCD wait timeout event. 
 
Time GetIntervalT3(void) const