A Discrete-Event Network Simulator
API
ss-net-device.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2007,2008,2009 INRIA, UDcast
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Authors: Jahanzeb Farooq <jahanzeb.farooq@sophia.inria.fr>
19  * Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
20  * <amine.ismail@UDcast.com>
21  */
22 
23 #ifndef WIMAX_SS_NET_DEVICE_H
24 #define WIMAX_SS_NET_DEVICE_H
25 
26 #include "ns3/event-id.h"
27 #include "wimax-net-device.h"
28 #include "ns3/nstime.h"
29 #include "wimax-mac-header.h"
30 #include "ns3/uinteger.h"
31 #include "ns3/ss-service-flow-manager.h"
32 #include "ipcs-classifier.h"
33 
34 namespace ns3 {
35 
36 class Node;
37 class OfdmDlBurstProfile;
38 class OfdmUlBurstProfile;
39 class SSScheduler;
40 class SSLinkManager;
41 class SsServiceFlowManager;
42 class IpcsClassifier;
43 
49 {
50 public:
52  enum State
53  {
58  SS_STATE_WAITING_REG_RANG_INTRVL, // regular ranging interval
59  SS_STATE_WAITING_INV_RANG_INTRVL, // invited ranging interval
63  SS_STATE_TRANSMITTING, // currently not being used anywhere
65  };
66 
68  enum EventType
69  {
78  };
79 
84  static TypeId GetTypeId (void);
94 
102  void SetLostDlMapInterval (Time lostDlMapInterval);
106  Time GetLostDlMapInterval (void) const;
110  void SetLostUlMapInterval (Time lostUlMapInterval);
114  Time GetLostUlMapInterval (void) const;
118  void SetMaxDcdInterval (Time maxDcdInterval);
122  Time GetMaxDcdInterval (void) const;
126  void SetMaxUcdInterval (Time maxUcdInterval);
130  Time GetMaxUcdInterval (void) const;
134  void SetIntervalT1 (Time interval1);
138  Time GetIntervalT1 (void) const;
142  void SetIntervalT2 (Time interval2);
146  Time GetIntervalT2 (void) const;
150  void SetIntervalT3 (Time interval3);
154  Time GetIntervalT3 (void) const;
158  void SetIntervalT7 (Time interval7);
162  Time GetIntervalT7 (void) const;
166  void SetIntervalT12 (Time interval12);
170  Time GetIntervalT12 (void) const;
174  void SetIntervalT20 (Time interval20);
178  Time GetIntervalT20 (void) const;
182  void SetIntervalT21 (Time interval21);
186  Time GetIntervalT21 (void) const;
190  void SetMaxContentionRangingRetries (uint8_t maxContentionRangingRetries);
194  uint8_t GetMaxContentionRangingRetries (void) const;
198  void SetBasicConnection (Ptr<WimaxConnection> basicConnection);
206  void SetPrimaryConnection (Ptr<WimaxConnection> primaryConnection);
214  Cid GetBasicCid (void) const;
218  Cid GetPrimaryCid (void) const;
219 
224  void SetModulationType (WimaxPhy::ModulationType modulationType);
232  void SetAreManagementConnectionsAllocated (bool areManagementConnectionsAllocated);
236  bool GetAreManagementConnectionsAllocated (void) const;
240  void SetAreServiceFlowsAllocated (bool areServiceFlowsAllocated);
244  bool GetAreServiceFlowsAllocated (void) const;
248  Ptr<SSScheduler> GetScheduler (void) const;
252  void SetScheduler (Ptr<SSScheduler> ssScheduler);
256  bool HasServiceFlows (void) const;
264  bool Enqueue (Ptr<Packet> packet, const MacHeaderType &hdrType, Ptr<WimaxConnection> connection);
272  void SendBurst (uint8_t uiuc,
273  uint16_t nrSymbols,
274  Ptr<WimaxConnection> connection,
276 
280  void Start (void);
284  void Stop (void);
285 
290  void AddServiceFlow (ServiceFlow *sf);
295  void AddServiceFlow (ServiceFlow sf);
304  void SetTimer (EventId eventId, EventId &event);
308  bool IsRegistered (void) const;
314  Time GetTimeToAllocation (Time deferTime);
315 
317 
329  Ptr<SSLinkManager> GetLinkManager (void) const;
334  void SetLinkManager (Ptr<SSLinkManager> linkManager);
344 
347 
353 
359 
365 
366 private:
372 
373  void DoDispose (void);
382  bool DoSend (Ptr<Packet> packet, const Mac48Address &source, const Mac48Address &dest, uint16_t protocolNumber);
387  void DoReceive (Ptr<Packet> packet);
388 
393  void ProcessDlMap (const DlMap &dlmap);
398  void ProcessUlMap (const UlMap &ulmap);
403  void ProcessDcd (const Dcd &dcd);
408  void ProcessUcd (const Ucd &ucd);
409 
410  // parameters defined in Table 342
423 
424  // parameters obtained from DL-MAP
425  uint8_t m_dcdCount;
427 
428  // parameters obtained from UL-MAP
429  uint8_t m_ucdCount;
431 
432  // to keep the number of DL-MAP/UL-MAP IEs found in the last DL-MAP/U-MAP messages
433  uint16_t m_nrDlMapElements;
434  uint16_t m_nrUlMapElements;
435 
438 
444 
445  uint32_t m_nrDlMapRecvd;
446  uint32_t m_nrUlMapRecvd;
447  uint32_t m_nrDcdRecvd;
448  uint32_t m_nrUcdRecvd;
449 
452 
453  /*represents the (least robust) modulation type of the SS which it then requests in RNG-REQ and if accepted by BS uses it for receiving and
454  transmitting. currently it is set by user in simulation script, shall actually be determined based on SS's distance, power, signal etc*/
456 
459 
463 
465 
473 
481 
490 
499 
507 
514 };
515 
516 } // namespace ns3
517 
518 #endif /* WIMAX_SS_NET_DEVICE_H */
ns3::TypeId
a unique identifier for an interface.
Definition: type-id.h:59
ns3::SubscriberStationNetDevice::SetAreManagementConnectionsAllocated
void SetAreManagementConnectionsAllocated(bool areManagementConnectionsAllocated)
Definition: ss-net-device.cc:526
ns3::SubscriberStationNetDevice::GetModulationType
WimaxPhy::ModulationType GetModulationType(void) const
Definition: ss-net-device.cc:520
ns3::SubscriberStationNetDevice::SetIntervalT3
void SetIntervalT3(Time interval3)
Definition: ss-net-device.cc:363
ns3::SubscriberStationNetDevice::SetLinkManager
void SetLinkManager(Ptr< SSLinkManager > linkManager)
sets the link manager to be used
Definition: ss-net-device.cc:587
ns3::SubscriberStationNetDevice::GetIntervalT2
Time GetIntervalT2(void) const
Definition: ss-net-device.cc:357
ns3::SubscriberStationNetDevice::SetMaxDcdInterval
void SetMaxDcdInterval(Time maxDcdInterval)
Definition: ss-net-device.cc:315
ns3::SubscriberStationNetDevice::m_maxContentionRangingRetries
uint8_t m_maxContentionRangingRetries
maximum contention ranging retries
Definition: ss-net-device.h:422
ns3::SubscriberStationNetDevice::SetMaxUcdInterval
void SetMaxUcdInterval(Time maxUcdInterval)
Definition: ss-net-device.cc:327
ns3::SubscriberStationNetDevice::GetIpcsClassifier
Ptr< IpcsClassifier > GetIpcsClassifier() const
Definition: ss-net-device.cc:568
ns3::SubscriberStationNetDevice::EVENT_NONE
@ EVENT_NONE
Definition: ss-net-device.h:70
ns3::SubscriberStationNetDevice::SetLostDlMapInterval
void SetLostDlMapInterval(Time lostDlMapInterval)
Definition: ss-net-device.cc:291
ns3::Cid
Cid class.
Definition: cid.h:38
ns3::SubscriberStationNetDevice::EVENT_LOST_UL_MAP
@ EVENT_LOST_UL_MAP
Definition: ss-net-device.h:74
ns3::SubscriberStationNetDevice::ProcessUcd
void ProcessUcd(const Ucd &ucd)
Process UCD.
Definition: ss-net-device.cc:1271
ns3::SubscriberStationNetDevice::Stop
void Stop(void)
Stop the device.
Definition: ss-net-device.cc:618
ns3::SubscriberStationNetDevice::Start
void Start(void)
Start the device.
Definition: ss-net-device.cc:605
ns3::EventId
An identifier for simulation events.
Definition: event-id.h:54
ns3::MacHeaderType::HEADER_TYPE_GENERIC
@ HEADER_TYPE_GENERIC
Definition: wimax-mac-header.h:42
ns3::SubscriberStationNetDevice::SendBurst
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.
Definition: ss-net-device.cc:738
ns3::Callback
Callback template class.
Definition: callback.h:1279
ns3::SubscriberStationNetDevice::m_linkManager
Ptr< SSLinkManager > m_linkManager
link manager
Definition: ss-net-device.h:316
ns3::SubscriberStationNetDevice::SS_STATE_IDLE
@ SS_STATE_IDLE
Definition: ss-net-device.h:54
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::SubscriberStationNetDevice::GetMaxDcdInterval
Time GetMaxDcdInterval(void) const
Definition: ss-net-device.cc:321
ns3::SubscriberStationNetDevice::m_maxUcdInterval
Time m_maxUcdInterval
in seconds, maximum time between transmission of UCD messages
Definition: ss-net-device.h:414
ns3::SubscriberStationNetDevice::m_dlBurstProfile
OfdmDlBurstProfile * m_dlBurstProfile
DL burst profile.
Definition: ss-net-device.h:450
ipcs-classifier.h
ns3::SubscriberStationNetDevice::m_ssRxTrace
TracedCallback< Ptr< const Packet > > m_ssRxTrace
The trace source fired for packets successfully received by the device immediately before being forwa...
Definition: ss-net-device.h:498
ns3::SubscriberStationNetDevice::GetAreManagementConnectionsAllocated
bool GetAreManagementConnectionsAllocated(void) const
Definition: ss-net-device.cc:532
ns3::SubscriberStationNetDevice::GetIntervalT1
Time GetIntervalT1(void) const
Definition: ss-net-device.cc:345
ns3::SubscriberStationNetDevice::SetAsciiTxQueueDequeueCallback
void SetAsciiTxQueueDequeueCallback(AsciiTraceCallback cb)
Set the Dequeue callback for ASCII tracing.
Definition: ss-net-device.cc:1341
ns3::SubscriberStationNetDevice::EVENT_UCD_WAIT_TIMEOUT
@ EVENT_UCD_WAIT_TIMEOUT
Definition: ss-net-device.h:76
ns3::SubscriberStationNetDevice::m_ssRxDropTrace
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 ...
Definition: ss-net-device.h:506
ns3::SubscriberStationNetDevice::EVENT_WAIT_FOR_RNG_RSP
@ EVENT_WAIT_FOR_RNG_RSP
Definition: ss-net-device.h:71
ns3::MacHeaderType
This class Represents the HT (Header Type) field of generic MAC and bandwidth request headers.
Definition: wimax-mac-header.h:37
ns3::SubscriberStationNetDevice::m_intervalT3
Time m_intervalT3
in milliseconds, ranging Response reception timeout following the transmission of a ranging request
Definition: ss-net-device.h:417
ns3::SubscriberStationNetDevice::AsciiTraceCallback
Callback< void, std::string, Ptr< const Packet > > AsciiTraceCallback
Callback for logging packets on ASCII traces.
Definition: ss-net-device.h:346
ns3::SubscriberStationNetDevice::m_nrDlMapElements
uint16_t m_nrDlMapElements
number DL Map elements
Definition: ss-net-device.h:433
ns3::Mac48Address
an EUI-48 address
Definition: mac48-address.h:44
ns3::SubscriberStationNetDevice::SetMaxContentionRangingRetries
void SetMaxContentionRangingRetries(uint8_t maxContentionRangingRetries)
Definition: ss-net-device.cc:423
ns3::SubscriberStationNetDevice::SS_STATE_WAITING_RNG_RSP
@ SS_STATE_WAITING_RNG_RSP
Definition: ss-net-device.h:60
ns3::SubscriberStationNetDevice::m_areManagementConnectionsAllocated
bool m_areManagementConnectionsAllocated
are management connections allocated
Definition: ss-net-device.h:457
ns3::SubscriberStationNetDevice::m_baseStationId
Mac48Address m_baseStationId
base station ID
Definition: ss-net-device.h:426
ns3::SubscriberStationNetDevice::SetIntervalT1
void SetIntervalT1(Time interval1)
Definition: ss-net-device.cc:339
ns3::SubscriberStationNetDevice::GetScheduler
Ptr< SSScheduler > GetScheduler(void) const
Definition: ss-net-device.cc:550
ns3::SubscriberStationNetDevice::SetModulationType
void SetModulationType(WimaxPhy::ModulationType modulationType)
Set the most efficient modulation and coding scheme (MCS) supported by the device.
Definition: ss-net-device.cc:514
ns3::SubscriberStationNetDevice::m_intervalT7
Time m_intervalT7
in seconds, wait for DSA/DSC/DSD Response timeout
Definition: ss-net-device.h:418
ns3::SubscriberStationNetDevice::GetBasicConnection
Ptr< WimaxConnection > GetBasicConnection(void) const
Definition: ss-net-device.cc:462
ns3::SubscriberStationNetDevice::EventType
EventType
EventType enumeration.
Definition: ss-net-device.h:69
ns3::SubscriberStationNetDevice::m_lostDlMapEvent
EventId m_lostDlMapEvent
lost DL map event
Definition: ss-net-device.h:439
ns3::SubscriberStationNetDevice::~SubscriberStationNetDevice
~SubscriberStationNetDevice(void)
Definition: ss-net-device.cc:264
ns3::SubscriberStationNetDevice::m_asciiTxQueueDropCb
AsciiTraceCallback m_asciiTxQueueDropCb
Bound callback to perform ASCII logging for Drop events.
Definition: ss-net-device.h:513
ns3::UlMap
This class implements the UL-MAP_IE message as described by "IEEE Standard for Local and metropolitan...
Definition: ul-mac-messages.h:574
ns3::SubscriberStationNetDevice::SS_STATE_WAITING_REG_RANG_INTRVL
@ SS_STATE_WAITING_REG_RANG_INTRVL
Definition: ss-net-device.h:58
ns3::SubscriberStationNetDevice::SetLostUlMapInterval
void SetLostUlMapInterval(Time lostUlMapInterval)
Definition: ss-net-device.cc:303
ns3::SubscriberStationNetDevice::m_primaryConnection
Ptr< WimaxConnection > m_primaryConnection
primary connection
Definition: ss-net-device.h:437
ns3::SubscriberStationNetDevice::m_dcdWaitTimeoutEvent
EventId m_dcdWaitTimeoutEvent
DCD wait timeout event.
Definition: ss-net-device.h:441
ns3::SubscriberStationNetDevice::m_maxDcdInterval
Time m_maxDcdInterval
in seconds, maximum time between transmission of DCD messages
Definition: ss-net-device.h:413
ns3::SubscriberStationNetDevice::SS_STATE_ADJUSTING_PARAMETERS
@ SS_STATE_ADJUSTING_PARAMETERS
Definition: ss-net-device.h:61
ns3::SubscriberStationNetDevice::GetServiceFlowManager
Ptr< SsServiceFlowManager > GetServiceFlowManager(void) const
Definition: ss-net-device.cc:593
ns3::SubscriberStationNetDevice::SetAsciiTxQueueDropCallback
void SetAsciiTxQueueDropCallback(AsciiTraceCallback cb)
Set the Drop callback for ASCII tracing.
Definition: ss-net-device.cc:1347
ns3::SubscriberStationNetDevice::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: ss-net-device.cc:57
ns3::SubscriberStationNetDevice::m_classifier
Ptr< IpcsClassifier > m_classifier
the classifier
Definition: ss-net-device.h:462
ns3::Ptr< Node >
ns3::SubscriberStationNetDevice::m_intervalT21
Time m_intervalT21
in seconds, time the SS searches for (decodable) DL-MAP on a given channel
Definition: ss-net-device.h:421
ns3::WimaxNetDevice
Hold together all WiMAX-related objects in a NetDevice.
Definition: wimax-net-device.h:69
ns3::SubscriberStationNetDevice::GetIntervalT7
Time GetIntervalT7(void) const
Definition: ss-net-device.cc:381
ns3::SubscriberStationNetDevice::SS_STATE_ACQUIRING_PARAMETERS
@ SS_STATE_ACQUIRING_PARAMETERS
Definition: ss-net-device.h:57
ns3::SubscriberStationNetDevice::m_ssTxDropTrace
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 ...
Definition: ss-net-device.h:480
ns3::SubscriberStationNetDevice::GetIntervalT21
Time GetIntervalT21(void) const
Definition: ss-net-device.cc:417
ns3::WimaxPhy::ModulationType
ModulationType
ModulationType enumeration.
Definition: wimax-phy.h:50
ns3::SubscriberStationNetDevice::m_modulationType
WimaxPhy::ModulationType m_modulationType
modulation type
Definition: ss-net-device.h:455
ns3::SubscriberStationNetDevice::m_intervalT1
Time m_intervalT1
in seconds, wait for DCD timeout
Definition: ss-net-device.h:415
ns3::SubscriberStationNetDevice::EVENT_DCD_WAIT_TIMEOUT
@ EVENT_DCD_WAIT_TIMEOUT
Definition: ss-net-device.h:75
wimax-mac-header.h
ns3::MacHeaderType::HeaderType
HeaderType
Header type enumeration.
Definition: wimax-mac-header.h:41
ns3::SubscriberStationNetDevice::EVENT_LOST_DL_MAP
@ EVENT_LOST_DL_MAP
Definition: ss-net-device.h:73
ns3::SubscriberStationNetDevice::SetIntervalT20
void SetIntervalT20(Time interval20)
Definition: ss-net-device.cc:399
ns3::SubscriberStationNetDevice::SetPrimaryConnection
void SetPrimaryConnection(Ptr< WimaxConnection > primaryConnection)
Definition: ss-net-device.cc:468
ns3::OfdmUlBurstProfile
This class implements the UL burst profile as described by "IEEE Standard for Local and metropolitan ...
Definition: ul-mac-messages.h:204
ns3::SubscriberStationNetDevice::m_nrDlMapRecvd
uint32_t m_nrDlMapRecvd
number DL map received
Definition: ss-net-device.h:445
ns3::SubscriberStationNetDevice::m_nrUcdRecvd
uint32_t m_nrUcdRecvd
number UCD received
Definition: ss-net-device.h:448
ns3::SubscriberStationNetDevice::GetLostDlMapInterval
Time GetLostDlMapInterval(void) const
Definition: ss-net-device.cc:297
ns3::SubscriberStationNetDevice::m_nrUlMapElements
uint16_t m_nrUlMapElements
number UL Map elements
Definition: ss-net-device.h:434
ns3::SubscriberStationNetDevice::SS_STATE_WAITING_INV_RANG_INTRVL
@ SS_STATE_WAITING_INV_RANG_INTRVL
Definition: ss-net-device.h:59
ns3::SubscriberStationNetDevice::Enqueue
bool Enqueue(Ptr< Packet > packet, const MacHeaderType &hdrType, Ptr< WimaxConnection > connection)
Enqueue a packet into a connection queue.
Definition: ss-net-device.cc:705
ns3::SubscriberStationNetDevice::m_traceSSRx
TracedCallback< Ptr< const Packet >, Mac48Address, const Cid & > m_traceSSRx
trace SS receive callback
Definition: ss-net-device.h:464
ns3::SubscriberStationNetDevice::GetTimeToAllocation
Time GetTimeToAllocation(Time deferTime)
Get time to allocation.
Definition: ss-net-device.cc:1314
ns3::Time
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:104
ns3::SubscriberStationNetDevice::SS_STATE_REGISTERED
@ SS_STATE_REGISTERED
Definition: ss-net-device.h:62
ns3::SubscriberStationNetDevice::DoDispose
void DoDispose(void)
Destructor implementation.
Definition: ss-net-device.cc:269
ns3::SubscriberStationNetDevice::HasServiceFlows
bool HasServiceFlows(void) const
Definition: ss-net-device.cc:562
ns3::SubscriberStationNetDevice::m_intervalT12
Time m_intervalT12
in seconds, wait for UCD descriptor
Definition: ss-net-device.h:419
ns3::DlMap
This class implements DL-MAP as described by "IEEE Standard for Local and metropolitan area networks ...
Definition: dl-mac-messages.h:542
ns3::SubscriberStationNetDevice::SetAsciiTxQueueEnqueueCallback
void SetAsciiTxQueueEnqueueCallback(AsciiTraceCallback cb)
Set the Enqueue callback for ASCII tracing.
Definition: ss-net-device.cc:1335
ns3::SubscriberStationNetDevice::SS_STATE_SCANNING
@ SS_STATE_SCANNING
Definition: ss-net-device.h:55
ns3::SubscriberStationNetDevice
SubscriberStationNetDevice subclass of WimaxNetDevice.
Definition: ss-net-device.h:49
wimax-net-device.h
ns3::SubscriberStationNetDevice::SubscriberStationNetDevice
SubscriberStationNetDevice(void)
Definition: ss-net-device.cc:211
ns3::SubscriberStationNetDevice::GetIntervalT12
Time GetIntervalT12(void) const
Definition: ss-net-device.cc:393
ns3::SubscriberStationNetDevice::SS_STATE_STOPPED
@ SS_STATE_STOPPED
Definition: ss-net-device.h:64
ns3::SubscriberStationNetDevice::m_scheduler
Ptr< SSScheduler > m_scheduler
the scheduler
Definition: ss-net-device.h:460
ns3::SubscriberStationNetDevice::m_areServiceFlowsAllocated
bool m_areServiceFlowsAllocated
are service flows allocated
Definition: ss-net-device.h:458
ns3::SubscriberStationNetDevice::SetIntervalT2
void SetIntervalT2(Time interval2)
Definition: ss-net-device.cc:351
ns3::SubscriberStationNetDevice::SetTimer
void SetTimer(EventId eventId, EventId &event)
Set timer.
Definition: ss-net-device.cc:1323
ns3::SubscriberStationNetDevice::m_lostUlMapEvent
EventId m_lostUlMapEvent
lost UL map event
Definition: ss-net-device.h:440
ns3::SubscriberStationNetDevice::SetAreServiceFlowsAllocated
void SetAreServiceFlowsAllocated(bool areServiceFlowsAllocated)
Definition: ss-net-device.cc:538
ns3::OfdmDlBurstProfile
This class implements the OFDM Downlink burst profile descriptor as described by "IEEE Standard for L...
Definition: dl-mac-messages.h:251
ns3::SubscriberStationNetDevice::GetLinkManager
Ptr< SSLinkManager > GetLinkManager(void) const
Definition: ss-net-device.cc:581
ns3::SubscriberStationNetDevice::AddServiceFlow
void AddServiceFlow(ServiceFlow *sf)
adds a new service flow
Definition: ss-net-device.cc:630
ns3::SubscriberStationNetDevice::m_dcdCount
uint8_t m_dcdCount
DCD count.
Definition: ss-net-device.h:425
ns3::SubscriberStationNetDevice::ProcessUlMap
void ProcessUlMap(const UlMap &ulmap)
Process UL map.
Definition: ss-net-device.cc:1146
ns3::SubscriberStationNetDevice::IsRegistered
bool IsRegistered(void) const
Definition: ss-net-device.cc:1308
ns3::SubscriberStationNetDevice::m_asciiTxQueueEnqueueCb
AsciiTraceCallback m_asciiTxQueueEnqueueCb
Bound callback to perform ASCII logging for Enqueue events.
Definition: ss-net-device.h:509
ns3::SubscriberStationNetDevice::GetMaxUcdInterval
Time GetMaxUcdInterval(void) const
Definition: ss-net-device.cc:333
ns3::SubscriberStationNetDevice::SetIntervalT12
void SetIntervalT12(Time interval12)
Definition: ss-net-device.cc:387
ns3::SubscriberStationNetDevice::State
State
State enumeration.
Definition: ss-net-device.h:53
ns3::SubscriberStationNetDevice::ProcessDcd
void ProcessDcd(const Dcd &dcd)
Process DCD.
Definition: ss-net-device.cc:1237
ns3::SubscriberStationNetDevice::GetPrimaryCid
Cid GetPrimaryCid(void) const
Definition: ss-net-device.cc:508
ns3::SubscriberStationNetDevice::GetAreServiceFlowsAllocated
bool GetAreServiceFlowsAllocated(void) const
Definition: ss-net-device.cc:544
ns3::SubscriberStationNetDevice::GetMaxContentionRangingRetries
uint8_t GetMaxContentionRangingRetries(void) const
Definition: ss-net-device.cc:429
ns3::SubscriberStationNetDevice::m_allocationStartTime
double m_allocationStartTime
allocation start time
Definition: ss-net-device.h:430
ns3::SubscriberStationNetDevice::GetIntervalT3
Time GetIntervalT3(void) const
Definition: ss-net-device.cc:369
ns3::SubscriberStationNetDevice::m_intervalT2
Time m_intervalT2
in seconds, wait for broadcast ranging timeout, i.e., wait for initial ranging opportunity
Definition: ss-net-device.h:416
ns3::SubscriberStationNetDevice::SetServiceFlowManager
void SetServiceFlowManager(Ptr< SsServiceFlowManager > sfm)
Sets the service flow manager to be installed on the device.
Definition: ss-net-device.cc:599
ns3::SubscriberStationNetDevice::DoReceive
void DoReceive(Ptr< Packet > packet)
Receive a packet.
Definition: ss-net-device.cc:788
ns3::SubscriberStationNetDevice::SetIntervalT7
void SetIntervalT7(Time interval7)
Definition: ss-net-device.cc:375
ns3::SubscriberStationNetDevice::m_ssTxTrace
TracedCallback< Ptr< const Packet > > m_ssTxTrace
The trace source fired when packets come into the "top" of the device at the L3/L2 transition,...
Definition: ss-net-device.h:472
ns3::ServiceFlow
This class implements service flows as described by the IEEE-802.16 standard.
Definition: service-flow.h:40
ns3::TracedCallback
Forward calls to a chain of Callback.
Definition: traced-callback.h:53
ns3::SubscriberStationNetDevice::m_nrUlMapRecvd
uint32_t m_nrUlMapRecvd
number UL map received
Definition: ss-net-device.h:446
ns3::SubscriberStationNetDevice::SetIntervalT21
void SetIntervalT21(Time interval21)
Definition: ss-net-device.cc:411
ns3::SubscriberStationNetDevice::m_ssPromiscRxTrace
TracedCallback< Ptr< const Packet > > m_ssPromiscRxTrace
The trace source fired for packets successfully received by the device immediately before being forwa...
Definition: ss-net-device.h:489
ns3::SubscriberStationNetDevice::SS_STATE_TRANSMITTING
@ SS_STATE_TRANSMITTING
Definition: ss-net-device.h:63
ns3::SubscriberStationNetDevice::DoSend
bool DoSend(Ptr< Packet > packet, const Mac48Address &source, const Mac48Address &dest, uint16_t protocolNumber)
Send a packet.
Definition: ss-net-device.cc:636
ns3::SubscriberStationNetDevice::GetLostUlMapInterval
Time GetLostUlMapInterval(void) const
Definition: ss-net-device.cc:309
ns3::SubscriberStationNetDevice::m_nrDcdRecvd
uint32_t m_nrDcdRecvd
number DCD received
Definition: ss-net-device.h:447
ns3::SubscriberStationNetDevice::GetBasicCid
Cid GetBasicCid(void) const
Definition: ss-net-device.cc:502
ns3::SubscriberStationNetDevice::GetIntervalT20
Time GetIntervalT20(void) const
Definition: ss-net-device.cc:405
ns3::Ucd
This class implements the UCD message as described by "IEEE Standard for Local and metropolitan area ...
Definition: ul-mac-messages.h:318
ns3::SubscriberStationNetDevice::m_serviceFlowManager
Ptr< SsServiceFlowManager > m_serviceFlowManager
the service flow manager
Definition: ss-net-device.h:461
ns3::SubscriberStationNetDevice::m_lostDlMapInterval
Time m_lostDlMapInterval
in milliseconds, time since last received DL-MAP before downlink synchronization is considered lost,...
Definition: ss-net-device.h:411
ns3::SubscriberStationNetDevice::m_ucdCount
uint8_t m_ucdCount
UCD count.
Definition: ss-net-device.h:429
ns3::SubscriberStationNetDevice::SetScheduler
void SetScheduler(Ptr< SSScheduler > ssScheduler)
Definition: ss-net-device.cc:556
ns3::SubscriberStationNetDevice::m_ulBurstProfile
OfdmUlBurstProfile * m_ulBurstProfile
UL burst profile.
Definition: ss-net-device.h:451
ns3::SubscriberStationNetDevice::SS_STATE_SYNCHRONIZING
@ SS_STATE_SYNCHRONIZING
Definition: ss-net-device.h:56
ns3::SubscriberStationNetDevice::InitSubscriberStationNetDevice
void InitSubscriberStationNetDevice(void)
initializes the net device and sets the parameters to the default values
Definition: ss-net-device.cc:219
ns3::SubscriberStationNetDevice::m_lostUlMapInterval
Time m_lostUlMapInterval
in milliseconds, time since last received UL-MAP before uplink synchronization is considered lost,...
Definition: ss-net-device.h:412
ns3::SubscriberStationNetDevice::GetDefaultLostDlMapInterval
static Time GetDefaultLostDlMapInterval()
Get default lost DL map interval.
Definition: ss-net-device.cc:51
ns3::Dcd
This class implements Downlink channel descriptor as described by "IEEE Standard for Local and metrop...
Definition: dl-mac-messages.h:356
third.phy
phy
Definition: third.py:93
ns3::SubscriberStationNetDevice::SetIpcsPacketClassifier
void SetIpcsPacketClassifier(Ptr< IpcsClassifier > classifier)
Sets the packet classifier to be used.
Definition: ss-net-device.cc:575
ns3::SubscriberStationNetDevice::EVENT_RANG_OPP_WAIT_TIMEOUT
@ EVENT_RANG_OPP_WAIT_TIMEOUT
Definition: ss-net-device.h:77
ns3::SubscriberStationNetDevice::m_basicConnection
Ptr< WimaxConnection > m_basicConnection
basic connection
Definition: ss-net-device.h:436
ns3::SubscriberStationNetDevice::m_ucdWaitTimeoutEvent
EventId m_ucdWaitTimeoutEvent
UCD wait timeout event.
Definition: ss-net-device.h:442
ns3::SubscriberStationNetDevice::ProcessDlMap
void ProcessDlMap(const DlMap &dlmap)
Process DL map.
Definition: ss-net-device.cc:1115
ns3::SubscriberStationNetDevice::m_asciiTxQueueDequeueCb
AsciiTraceCallback m_asciiTxQueueDequeueCb
Bound callback to perform ASCII logging for Dequeue events.
Definition: ss-net-device.h:511
ns3::SubscriberStationNetDevice::m_rangOppWaitTimeoutEvent
EventId m_rangOppWaitTimeoutEvent
range opp wait timeout event
Definition: ss-net-device.h:443
ns3::SubscriberStationNetDevice::EVENT_DL_MAP_SYNC_TIMEOUT
@ EVENT_DL_MAP_SYNC_TIMEOUT
Definition: ss-net-device.h:72
ns3::SubscriberStationNetDevice::SetBasicConnection
void SetBasicConnection(Ptr< WimaxConnection > basicConnection)
Definition: ss-net-device.cc:435
ns3::SubscriberStationNetDevice::GetPrimaryConnection
Ptr< WimaxConnection > GetPrimaryConnection(void) const
Definition: ss-net-device.cc:496
ns3::SubscriberStationNetDevice::m_intervalT20
Time m_intervalT20
in seconds, time the SS searches for preambles on a given channel
Definition: ss-net-device.h:420