A Discrete-Event Network Simulator
API
bs-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  */
21 
22 #ifndef WIMAX_BS_NET_DEVICE_H
23 #define WIMAX_BS_NET_DEVICE_H
24 
25 #include "wimax-net-device.h"
26 #include "ns3/event-id.h"
27 #include "wimax-connection.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"
32 #include "dl-mac-messages.h"
33 #include "ipcs-classifier.h"
34 
35 namespace ns3 {
36 
37 class Node;
38 class Packet;
39 class SSRecord;
40 class SSManager;
41 class BSScheduler;
42 class BurstProfileManager;
43 class BSLinkManager;
44 class UplinkScheduler;
45 class BsServiceFlowManager;
46 
51 {
52 public:
54  enum State
55  {
60  };
61 
64  {
67  };
68 
73  static TypeId GetTypeId (void);
74  BaseStationNetDevice (void);
92  Ptr<UplinkScheduler> uplinkScheduler,
93  Ptr<BSScheduler> bsScheduler);
94  ~BaseStationNetDevice (void);
98  void SetInitialRangingInterval (Time initialRangInterval);
102  void InitBaseStationNetDevice (void);
106  Time GetInitialRangingInterval (void) const;
110  void SetDcdInterval (Time dcdInterval);
114  Time GetDcdInterval (void) const;
118  void SetUcdInterval (Time ucdInterval);
122  Time GetUcdInterval (void) const;
126  void SetIntervalT8 (Time interval);
130  Time GetIntervalT8 (void) const;
134  void SetMaxRangingCorrectionRetries (uint8_t maxRangCorrectionRetries);
138  uint8_t GetMaxRangingCorrectionRetries (void) const;
142  void SetMaxInvitedRangRetries (uint8_t maxInvitedRangRetries);
146  uint8_t GetMaxInvitedRangRetries (void) const;
150  void SetRangReqOppSize (uint8_t rangReqOppSize);
154  uint8_t GetRangReqOppSize (void) const;
158  void SetBwReqOppSize (uint8_t bwReqOppSize);
162  uint8_t GetBwReqOppSize (void) const;
166  void SetNrDlSymbols (uint32_t dlSymbols);
170  uint32_t GetNrDlSymbols (void) const;
174  void SetNrUlSymbols (uint32_t ulSymbols);
178  uint32_t GetNrUlSymbols (void) const;
182  uint32_t GetNrDcdSent (void) const;
186  uint32_t GetNrUcdSent (void) const;
190  Time GetDlSubframeStartTime (void) const;
194  Time GetUlSubframeStartTime (void) const;
198  uint8_t GetRangingOppNumber (void) const;
202  Ptr<SSManager> GetSSManager (void) const;
206  void SetSSManager (Ptr<SSManager> ssManager);
214  void SetUplinkScheduler (Ptr<UplinkScheduler> ulScheduler);
218  Ptr<BSLinkManager> GetLinkManager (void) const;
222  void SetBSScheduler (Ptr<BSScheduler> bsSchedule);
226  Ptr<BSScheduler> GetBSScheduler (void) const;
230  void SetLinkManager (Ptr<BSLinkManager> linkManager);
238  void SetBsClassifier (Ptr<IpcsClassifier> classifier);
239 
243  Time GetPsDuration (void) const;
247  Time GetSymbolDuration (void) const;
251  void Start (void);
255  void Stop (void);
263  bool Enqueue (Ptr<Packet> packet, const MacHeaderType &hdrType, Ptr<WimaxConnection> connection);
269 
273  void MarkUplinkAllocations (void);
278  void MarkRangingOppStart (Time rangingOppStartTime);
288 private:
289  virtual void DoDispose (void);
293  void StartFrame (void);
297  void StartDlSubFrame (void);
301  void EndDlSubFrame (void);
305  void StartUlSubFrame (void);
309  void EndUlSubFrame (void);
313  void EndFrame (void);
322  bool DoSend (Ptr<Packet> packet, const Mac48Address& source, const Mac48Address& dest, uint16_t protocolNumber);
327  void DoReceive (Ptr<Packet> packet);
331  void CreateMapMessages (void);
337  void CreateDescriptorMessages (bool sendDcd, bool sendUcd);
341  void SendBursts (void);
342 
347  Ptr<Packet> CreateDlMap (void);
352  Ptr<Packet> CreateDcd (void);
357  Ptr<Packet> CreateUlMap (void);
362  Ptr<Packet> CreateUcd (void);
367  void SetDlBurstProfiles (Dcd *dcd);
372  void SetUlBurstProfiles (Ucd *ucd);
373 
378  void MarkUplinkAllocationStart (Time allocationStartTime);
385  void MarkUplinkAllocationEnd (Time allocationEndTime, Cid cid, uint8_t uiuc);
389  void UplinkAllocationStart (void);
395  void UplinkAllocationEnd (Cid cid, uint8_t uiuc);
399  void RangingOppStart (void);
400 
401  // parameters defined in Table 342
406 
410  uint8_t m_bwReqOppSize;
411 
412  uint32_t m_nrDlSymbols;
413  uint32_t m_nrUlSymbols;
414 
415  // to keep track total number of a certain management messages sent by the BS
416  uint32_t m_nrDlMapSent;
417  uint32_t m_nrUlMapSent;
418  // number of DCDs and UCDs sent even if same
419  uint32_t m_nrDcdSent;
420  uint32_t m_nrUcdSent;
421 
424 
427 
428  // uint32_t m_nrFrames; //temporarily defined in wimax-net-device, as static
429  uint32_t m_nrDlFrames;
430  uint32_t m_nrUlFrames;
431 
432  // to keep track if number of SSs have changed since the last frame
433  uint16_t m_nrSsRegistered;
434 
435  uint16_t m_nrDlAllocations;
436  uint16_t m_nrUlAllocations;
437 
440 
443 
445 
447 
454  // same fields as in PHY, for quick access
457 
459 
467 
475 
484 
493 
501 };
502 
503 } // namespace ns3
504 
505 #endif /* WIMAX_BS_NET_DEVICE_H */
ns3::BaseStationNetDevice::Start
void Start(void)
Start device.
Definition: bs-net-device.cc:512
ns3::TypeId
a unique identifier for an interface.
Definition: type-id.h:59
ns3::BaseStationNetDevice::SetDcdInterval
void SetDcdInterval(Time dcdInterval)
Definition: bs-net-device.cc:303
ns3::BaseStationNetDevice
Definition: bs-net-device.h:51
ns3::BaseStationNetDevice::m_bsTxTrace
TracedCallback< Ptr< const Packet > > m_bsTxTrace
The trace source fired when packets come into the "top" of the device at the L3/L2 transition,...
Definition: bs-net-device.h:466
ns3::BaseStationNetDevice::GetDlSubframeStartTime
Time GetDlSubframeStartTime(void) const
Definition: bs-net-device.cc:423
ns3::BaseStationNetDevice::m_nrUlMapSent
uint32_t m_nrUlMapSent
number UL map sent
Definition: bs-net-device.h:417
ns3::BaseStationNetDevice::StartFrame
void StartFrame(void)
Start frame function.
Definition: bs-net-device.cc:539
ns3::BaseStationNetDevice::m_framesSinceLastDcd
uint32_t m_framesSinceLastDcd
frames since last DCD
Definition: bs-net-device.h:425
ns3::BaseStationNetDevice::SetDlBurstProfiles
void SetDlBurstProfiles(Dcd *dcd)
Send DL burst profiles.
Definition: bs-net-device.cc:1120
ns3::Cid
Cid class.
Definition: cid.h:38
ns3::BaseStationNetDevice::SetBwReqOppSize
void SetBwReqOppSize(uint8_t bwReqOppSize)
Definition: bs-net-device.cc:375
ns3::BaseStationNetDevice::SetMaxRangingCorrectionRetries
void SetMaxRangingCorrectionRetries(uint8_t maxRangCorrectionRetries)
Definition: bs-net-device.cc:339
ns3::BaseStationNetDevice::GetNrUcdSent
uint32_t GetNrUcdSent(void) const
Definition: bs-net-device.cc:417
ns3::BaseStationNetDevice::EndDlSubFrame
void EndDlSubFrame(void)
End DL subframe function.
Definition: bs-net-device.cc:573
ns3::BaseStationNetDevice::GetBwReqOppSize
uint8_t GetBwReqOppSize(void) const
Definition: bs-net-device.cc:381
ns3::BaseStationNetDevice::EndFrame
void EndFrame(void)
End frame function.
Definition: bs-net-device.cc:604
ns3::BaseStationNetDevice::GetNrUlSymbols
uint32_t GetNrUlSymbols(void) const
Definition: bs-net-device.cc:405
ns3::BaseStationNetDevice::m_bsTxDropTrace
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 ...
Definition: bs-net-device.h:474
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::BaseStationNetDevice::BS_STATE_TTG
@ BS_STATE_TTG
Definition: bs-net-device.h:58
ns3::BaseStationNetDevice::BaseStationNetDevice
BaseStationNetDevice(void)
Definition: bs-net-device.cc:190
ns3::BaseStationNetDevice::GetMaxInvitedRangRetries
uint8_t GetMaxInvitedRangRetries(void) const
Definition: bs-net-device.cc:357
ns3::BaseStationNetDevice::m_framesSinceLastUcd
uint32_t m_framesSinceLastUcd
frames since last UCD
Definition: bs-net-device.h:426
ns3::BaseStationNetDevice::GetSymbolDuration
Time GetSymbolDuration(void) const
Definition: bs-net-device.cc:506
ipcs-classifier.h
ns3::BaseStationNetDevice::m_linkManager
Ptr< BSLinkManager > m_linkManager
the link manager
Definition: bs-net-device.h:451
ns3::BaseStationNetDevice::GetRangingOppNumber
uint8_t GetRangingOppNumber(void) const
Definition: bs-net-device.cc:435
ns3::BaseStationNetDevice::m_intervalT8
Time m_intervalT8
in milliseconds, wait for DSA/DSC Acknowledge timeout
Definition: bs-net-device.h:405
ns3::BaseStationNetDevice::SHORT_PREAMBLE
@ SHORT_PREAMBLE
Definition: bs-net-device.h:65
ns3::BaseStationNetDevice::StartDlSubFrame
void StartDlSubFrame(void)
Start DL subframe function.
Definition: bs-net-device.cc:554
ns3::BaseStationNetDevice::BS_STATE_UL_SUB_FRAME
@ BS_STATE_UL_SUB_FRAME
Definition: bs-net-device.h:57
ns3::BaseStationNetDevice::m_nrSsRegistered
uint16_t m_nrSsRegistered
number SS registered
Definition: bs-net-device.h:433
ns3::MacHeaderType
This class Represents the HT (Header Type) field of generic MAC and bandwidth request headers.
Definition: wimax-mac-header.h:37
ns3::BaseStationNetDevice::m_cidFactory
CidFactory * m_cidFactory
the CID factory
Definition: bs-net-device.h:444
ns3::BaseStationNetDevice::~BaseStationNetDevice
~BaseStationNetDevice(void)
Definition: bs-net-device.cc:256
ns3::BaseStationNetDevice::m_ulAllocationNumber
uint8_t m_ulAllocationNumber
to see UL burst number
Definition: bs-net-device.h:441
ns3::BaseStationNetDevice::LONG_PREAMBLE
@ LONG_PREAMBLE
Definition: bs-net-device.h:66
ns3::BaseStationNetDevice::m_nrUlSymbols
uint32_t m_nrUlSymbols
number of UL symbols
Definition: bs-net-device.h:413
ns3::Mac48Address
an EUI-48 address
Definition: mac48-address.h:44
ns3::BaseStationNetDevice::GetNrDlSymbols
uint32_t GetNrDlSymbols(void) const
Definition: bs-net-device.cc:393
ns3::BaseStationNetDevice::SetLinkManager
void SetLinkManager(Ptr< BSLinkManager > linkManager)
Definition: bs-net-device.cc:483
ns3::BaseStationNetDevice::m_bsRxDropTrace
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 ...
Definition: bs-net-device.h:500
ns3::BaseStationNetDevice::MarkUplinkAllocationStart
void MarkUplinkAllocationStart(Time allocationStartTime)
Mark uplink allocation start.
Definition: bs-net-device.cc:1192
ns3::BaseStationNetDevice::m_nrDlMapSent
uint32_t m_nrDlMapSent
number DL map sent
Definition: bs-net-device.h:416
ns3::BaseStationNetDevice::GetBSScheduler
Ptr< BSScheduler > GetBSScheduler(void) const
Definition: bs-net-device.cc:494
ns3::BaseStationNetDevice::m_bsRxTrace
TracedCallback< Ptr< const Packet > > m_bsRxTrace
The trace source fired for packets successfully received by the device immediately before being forwa...
Definition: bs-net-device.h:492
ns3::BaseStationNetDevice::m_nrDlSymbols
uint32_t m_nrDlSymbols
number of DL symbols
Definition: bs-net-device.h:412
ns3::BaseStationNetDevice::BS_STATE_RTG
@ BS_STATE_RTG
Definition: bs-net-device.h:59
ns3::BaseStationNetDevice::m_dcdConfigChangeCount
uint32_t m_dcdConfigChangeCount
DCD config change count.
Definition: bs-net-device.h:422
ns3::BaseStationNetDevice::m_traceBSRx
TracedCallback< Ptr< const Packet >, Mac48Address, Cid > m_traceBSRx
the base station receive trace callback
Definition: bs-net-device.h:458
ns3::BaseStationNetDevice::m_ucdConfigChangeCount
uint32_t m_ucdConfigChangeCount
UCD config change count.
Definition: bs-net-device.h:423
ns3::BaseStationNetDevice::SetUcdInterval
void SetUcdInterval(Time ucdInterval)
Definition: bs-net-device.cc:315
ns3::BaseStationNetDevice::m_bsPromiscRxTrace
TracedCallback< Ptr< const Packet > > m_bsPromiscRxTrace
The trace source fired for packets successfully received by the device immediately before being forwa...
Definition: bs-net-device.h:483
ns3::BaseStationNetDevice::SetMaxInvitedRangRetries
void SetMaxInvitedRangRetries(uint8_t maxInvitedRangRetries)
Definition: bs-net-device.cc:351
ns3::BaseStationNetDevice::MarkUplinkAllocationEnd
void MarkUplinkAllocationEnd(Time allocationEndTime, Cid cid, uint8_t uiuc)
Mark uplink allocation end.
Definition: bs-net-device.cc:1198
ns3::BaseStationNetDevice::GetConnection
Ptr< WimaxConnection > GetConnection(Cid cid)
Definition: bs-net-device.cc:1150
ns3::BaseStationNetDevice::SetBsClassifier
void SetBsClassifier(Ptr< IpcsClassifier > classifier)
Definition: bs-net-device.cc:279
ns3::BaseStationNetDevice::GetNrDcdSent
uint32_t GetNrDcdSent(void) const
Definition: bs-net-device.cc:411
ns3::BaseStationNetDevice::GetBsClassifier
Ptr< IpcsClassifier > GetBsClassifier(void) const
Definition: bs-net-device.cc:285
ns3::BaseStationNetDevice::MarkUplinkAllocations
void MarkUplinkAllocations(void)
Mark uplink allocations.
Definition: bs-net-device.cc:1171
ns3::BaseStationNetDevice::GetDcdInterval
Time GetDcdInterval(void) const
Definition: bs-net-device.cc:309
ns3::BaseStationNetDevice::m_allocationStartTime
uint32_t m_allocationStartTime
allocation start time
Definition: bs-net-device.h:446
ns3::BaseStationNetDevice::GetPsDuration
Time GetPsDuration(void) const
Definition: bs-net-device.cc:500
ns3::Ptr< Node >
ns3::BaseStationNetDevice::InitBaseStationNetDevice
void InitBaseStationNetDevice(void)
initializes the BS net device and sets its parameters to the default values
Definition: bs-net-device.cc:196
ns3::BaseStationNetDevice::GetUplinkScheduler
Ptr< UplinkScheduler > GetUplinkScheduler(void) const
Definition: bs-net-device.cc:465
ns3::WimaxNetDevice
Hold together all WiMAX-related objects in a NetDevice.
Definition: wimax-net-device.h:69
ns3::BaseStationNetDevice::MarkRangingOppStart
void MarkRangingOppStart(Time rangingOppStartTime)
Mark ranging opp start.
Definition: bs-net-device.cc:1225
ns3::BaseStationNetDevice::SetUplinkScheduler
void SetUplinkScheduler(Ptr< UplinkScheduler > ulScheduler)
Definition: bs-net-device.cc:471
ns3::BaseStationNetDevice::m_dcdInterval
Time m_dcdInterval
in seconds
Definition: bs-net-device.h:403
ns3::BaseStationNetDevice::m_nrUlFrames
uint32_t m_nrUlFrames
number UL frames
Definition: bs-net-device.h:430
ns3::BaseStationNetDevice::SendBursts
void SendBursts(void)
Send burst function.
Definition: bs-net-device.cc:959
ns3::BaseStationNetDevice::Enqueue
bool Enqueue(Ptr< Packet > packet, const MacHeaderType &hdrType, Ptr< WimaxConnection > connection)
Enqueue a packet into a connection queue.
Definition: bs-net-device.cc:662
ns3::BaseStationNetDevice::GetLinkManager
Ptr< BSLinkManager > GetLinkManager(void) const
Definition: bs-net-device.cc:477
ns3::BaseStationNetDevice::m_uplinkScheduler
Ptr< UplinkScheduler > m_uplinkScheduler
the uplink scheduler
Definition: bs-net-device.h:449
ns3::BaseStationNetDevice::SetRangReqOppSize
void SetRangReqOppSize(uint8_t rangReqOppSize)
Definition: bs-net-device.cc:363
ns3::BaseStationNetDevice::BS_STATE_DL_SUB_FRAME
@ BS_STATE_DL_SUB_FRAME
Definition: bs-net-device.h:56
ns3::BaseStationNetDevice::SetSSManager
void SetSSManager(Ptr< SSManager > ssManager)
Definition: bs-net-device.cc:447
ns3::BaseStationNetDevice::m_ucdInterval
Time m_ucdInterval
in seconds
Definition: bs-net-device.h:404
ns3::BaseStationNetDevice::m_rangReqOppSize
uint8_t m_rangReqOppSize
in symbols
Definition: bs-net-device.h:409
ns3::BaseStationNetDevice::CreateMapMessages
void CreateMapMessages(void)
creates the MAC management messages DL-MAP and UL-MAP
Definition: bs-net-device.cc:881
ns3::BaseStationNetDevice::Stop
void Stop(void)
Stop device.
Definition: bs-net-device.cc:534
wimax-connection.h
ns3::BaseStationNetDevice::m_ssManager
Ptr< SSManager > m_ssManager
the SS manager
Definition: bs-net-device.h:448
ns3::Time
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:104
ns3::BaseStationNetDevice::m_nrDcdSent
uint32_t m_nrDcdSent
number DCD sent
Definition: bs-net-device.h:419
ns3::BaseStationNetDevice::m_nrUlAllocations
uint16_t m_nrUlAllocations
number UL allocations
Definition: bs-net-device.h:436
ns3::BaseStationNetDevice::GetSSManager
Ptr< SSManager > GetSSManager(void) const
Definition: bs-net-device.cc:441
ns3::BaseStationNetDevice::CreateUcd
Ptr< Packet > CreateUcd(void)
Create UCD.
Definition: bs-net-device.cc:1090
ns3::BaseStationNetDevice::SetServiceFlowManager
void SetServiceFlowManager(Ptr< BsServiceFlowManager > sfm)
Set service flow manager.
Definition: bs-net-device.cc:459
ns3::BaseStationNetDevice::m_nrUcdSent
uint32_t m_nrUcdSent
number UCD sent
Definition: bs-net-device.h:420
ns3::BaseStationNetDevice::SetNrDlSymbols
void SetNrDlSymbols(uint32_t dlSymbols)
Definition: bs-net-device.cc:387
ns3::BaseStationNetDevice::m_maxRangCorrectionRetries
uint8_t m_maxRangCorrectionRetries
maximum range correction retries
Definition: bs-net-device.h:407
ns3::BaseStationNetDevice::m_psDuration
Time m_psDuration
ps duration
Definition: bs-net-device.h:455
wimax-net-device.h
ns3::BaseStationNetDevice::UplinkAllocationStart
void UplinkAllocationStart(void)
Uplink allocation start.
Definition: bs-net-device.cc:1204
ns3::BaseStationNetDevice::CreateUlMap
Ptr< Packet > CreateUlMap(void)
Create UL map.
Definition: bs-net-device.cc:1064
ns3::BaseStationNetDevice::m_bwReqOppSize
uint8_t m_bwReqOppSize
in symbols
Definition: bs-net-device.h:410
ns3::BaseStationNetDevice::m_dlSubframeStartTime
Time m_dlSubframeStartTime
DL subframe start time.
Definition: bs-net-device.h:438
dl-mac-messages.h
ns3::BaseStationNetDevice::m_rangingOppNumber
uint8_t m_rangingOppNumber
current ranging TO number
Definition: bs-net-device.h:442
ns3::BaseStationNetDevice::SetBSScheduler
void SetBSScheduler(Ptr< BSScheduler > bsSchedule)
Definition: bs-net-device.cc:489
ns3::BaseStationNetDevice::m_serviceFlowManager
Ptr< BsServiceFlowManager > m_serviceFlowManager
the service flow manager
Definition: bs-net-device.h:453
ns3::BaseStationNetDevice::SetInitialRangingInterval
void SetInitialRangingInterval(Time initialRangInterval)
Definition: bs-net-device.cc:291
ns3::BaseStationNetDevice::GetMaxRangingCorrectionRetries
uint8_t GetMaxRangingCorrectionRetries(void) const
Definition: bs-net-device.cc:345
ns3::BaseStationNetDevice::State
State
State enumeration.
Definition: bs-net-device.h:55
ns3::BaseStationNetDevice::RangingOppStart
void RangingOppStart(void)
Ranging opp start.
Definition: bs-net-device.cc:1231
ns3::CidFactory
This class is used exclusively by the BS to allocate CIDs to new connections.
Definition: cid-factory.h:46
ns3::BaseStationNetDevice::m_initialRangInterval
Time m_initialRangInterval
in seconds
Definition: bs-net-device.h:402
ns3::BaseStationNetDevice::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: bs-net-device.cc:54
ns3::BaseStationNetDevice::GetIntervalT8
Time GetIntervalT8(void) const
Definition: bs-net-device.cc:333
ns3::BaseStationNetDevice::m_nrDlAllocations
uint16_t m_nrDlAllocations
number DL allocations
Definition: bs-net-device.h:435
ns3::BaseStationNetDevice::GetInitialRangingInterval
Time GetInitialRangingInterval(void) const
Definition: bs-net-device.cc:297
ns3::BaseStationNetDevice::StartUlSubFrame
void StartUlSubFrame(void)
Start UL subframe function.
Definition: bs-net-device.cc:581
ns3::BaseStationNetDevice::DoDispose
virtual void DoDispose(void)
Destructor implementation.
Definition: bs-net-device.cc:261
ns3::BaseStationNetDevice::CreateDlMap
Ptr< Packet > CreateDlMap(void)
Create DL map.
Definition: bs-net-device.cc:1001
ns3::BaseStationNetDevice::EndUlSubFrame
void EndUlSubFrame(void)
End UL subframe function.
Definition: bs-net-device.cc:596
ns3::BaseStationNetDevice::SetNrUlSymbols
void SetNrUlSymbols(uint32_t ulSymbols)
Definition: bs-net-device.cc:399
ns3::BaseStationNetDevice::GetRangReqOppSize
uint8_t GetRangReqOppSize(void) const
Definition: bs-net-device.cc:369
ns3::BaseStationNetDevice::m_symbolDuration
Time m_symbolDuration
symbol duration
Definition: bs-net-device.h:456
ns3::TracedCallback
Forward calls to a chain of Callback.
Definition: traced-callback.h:53
ns3::BaseStationNetDevice::m_maxInvitedRangRetries
uint8_t m_maxInvitedRangRetries
maximum invited range retries
Definition: bs-net-device.h:408
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::BaseStationNetDevice::m_ulSubframeStartTime
Time m_ulSubframeStartTime
UL subframe start time.
Definition: bs-net-device.h:439
ns3::BaseStationNetDevice::CreateDcd
Ptr< Packet > CreateDcd(void)
Create DCD.
Definition: bs-net-device.cc:1036
ns3::BaseStationNetDevice::SetUlBurstProfiles
void SetUlBurstProfiles(Ucd *ucd)
Send UL burst profiles.
Definition: bs-net-device.cc:1134
ns3::BaseStationNetDevice::CreateDescriptorMessages
void CreateDescriptorMessages(bool sendDcd, bool sendUcd)
creates the channel descriptor MAC management messages DCD and UCD
Definition: bs-net-device.cc:925
ns3::BaseStationNetDevice::m_scheduler
Ptr< BSScheduler > m_scheduler
the base station scheduler
Definition: bs-net-device.h:450
ns3::BaseStationNetDevice::MacPreamble
MacPreamble
MacPreamble enumeration.
Definition: bs-net-device.h:64
ns3::BaseStationNetDevice::GetUlSubframeStartTime
Time GetUlSubframeStartTime(void) const
Definition: bs-net-device.cc:429
ns3::BaseStationNetDevice::GetServiceFlowManager
Ptr< BsServiceFlowManager > GetServiceFlowManager(void) const
Definition: bs-net-device.cc:453
ns3::BaseStationNetDevice::SetIntervalT8
void SetIntervalT8(Time interval)
Definition: bs-net-device.cc:327
ns3::BaseStationNetDevice::m_nrDlFrames
uint32_t m_nrDlFrames
number DL frames
Definition: bs-net-device.h:429
ns3::Dcd
This class implements Downlink channel descriptor as described by "IEEE Standard for Local and metrop...
Definition: dl-mac-messages.h:356
ns3::BaseStationNetDevice::DoReceive
void DoReceive(Ptr< Packet > packet)
Receive packet.
Definition: bs-net-device.cc:676
third.phy
phy
Definition: third.py:93
ns3::BaseStationNetDevice::DoSend
bool DoSend(Ptr< Packet > packet, const Mac48Address &source, const Mac48Address &dest, uint16_t protocolNumber)
Send packet.
Definition: bs-net-device.cc:610
ns3::BaseStationNetDevice::m_bsClassifier
Ptr< IpcsClassifier > m_bsClassifier
the base station classifier
Definition: bs-net-device.h:452
ns3::BaseStationNetDevice::UplinkAllocationEnd
void UplinkAllocationEnd(Cid cid, uint8_t uiuc)
Uplink allocation end.
Definition: bs-net-device.cc:1214
ns3::BaseStationNetDevice::GetUcdInterval
Time GetUcdInterval(void) const
Definition: bs-net-device.cc:321