Public Types | Public Member Functions | Static Public Member Functions

ns3::BaseStationNetDevice Class Reference

Inheritance diagram for ns3::BaseStationNetDevice:
Inheritance graph
[legend]
Collaboration diagram for ns3::BaseStationNetDevice:
Collaboration graph
[legend]

List of all members.

Public Types

enum  State { BS_STATE_DL_SUB_FRAME, BS_STATE_UL_SUB_FRAME, BS_STATE_TTG, BS_STATE_RTG }
enum  MacPreamble { SHORT_PREAMBLE = 1, LONG_PREAMBLE }

Public Member Functions

 BaseStationNetDevice (Ptr< Node > node, Ptr< WimaxPhy > phy)
 BaseStationNetDevice (Ptr< Node > node, Ptr< WimaxPhy > phy, Ptr< UplinkScheduler > uplinkScheduler, Ptr< BSScheduler > bsScheduler)
void SetInitialRangingInterval (Time initialRangInterval)
void InitBaseStationNetDevice (void)
 initializes the BS net device and sets its parameters to the default values
Time GetInitialRangingInterval (void) const
void SetDcdInterval (Time dcdInterval)
Time GetDcdInterval (void) const
void SetUcdInterval (Time ucdInterval)
Time GetUcdInterval (void) const
void SetIntervalT8 (Time interval)
Time GetIntervalT8 (void) const
void SetMaxRangingCorrectionRetries (uint8_t maxRangCorrectionRetries)
uint8_t GetMaxRangingCorrectionRetries (void) const
void SetMaxInvitedRangRetries (uint8_t maxInvitedRangRetries)
uint8_t GetMaxInvitedRangRetries (void) const
void SetRangReqOppSize (uint8_t rangReqOppSize)
uint8_t GetRangReqOppSize (void) const
void SetBwReqOppSize (uint8_t bwReqOppSize)
uint8_t GetBwReqOppSize (void) const
void SetNrDlSymbols (uint32_t dlSymbols)
uint32_t GetNrDlSymbols (void) const
void SetNrUlSymbols (uint32_t ulSymbols)
uint32_t GetNrUlSymbols (void) const
uint32_t GetNrDcdSent (void) const
uint32_t GetNrUcdSent (void) const
Time GetDlSubframeStartTime (void) const
Time GetUlSubframeStartTime (void) const
uint8_t GetRangingOppNumber (void) const
Ptr< SSManagerGetSSManager (void) const
void SetSSManager (Ptr< SSManager > ssManager)
Ptr< UplinkSchedulerGetUplinkScheduler (void) const
void SetUplinkScheduler (Ptr< UplinkScheduler > ulScheduler)
Ptr< BSLinkManagerGetLinkManager (void) const
void SetBSScheduler (Ptr< BSScheduler > bsSchedule)
Ptr< BSSchedulerGetBSScheduler (void) const
void SetLinkManager (Ptr< BSLinkManager > linkManager)
Ptr< IpcsClassifierGetBsClassifier (void) const
void SetBsClassifier (Ptr< IpcsClassifier > classifier)
Time GetPsDuration (void) const
Time GetSymbolDuration (void) const
void Start (void)
void Stop (void)
bool Enqueue (Ptr< Packet > packet, const MacHeaderType &hdrType, Ptr< WimaxConnection > connection)
 Enqueue a packet into a connection queue.
Ptr< WimaxConnectionGetConnection (Cid cid)
void MarkUplinkAllocations (void)
void MarkRangingOppStart (Time rangingOppStartTime)
Ptr< BsServiceFlowManagerGetServiceFlowManager (void) const
void SetServiceFlowManager (Ptr< BsServiceFlowManager >)

Static Public Member Functions

static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::BaseStationNetDevice.

Member Function Documentation

bool ns3::BaseStationNetDevice::Enqueue ( Ptr< Packet packet,
const MacHeaderType hdrType,
Ptr< WimaxConnection connection 
) [virtual]

Enqueue a packet into a connection queue.

Parameters:
packet the packet to be enqueued
hdrType the mac header type to be appended to the packet
connection the connection to be used

Implements ns3::WimaxNetDevice.

Ptr<IpcsClassifier> ns3::BaseStationNetDevice::GetBsClassifier ( void   )  const
Returns:
a pointer to the classifier installed on the BS
Ptr<BSScheduler> ns3::BaseStationNetDevice::GetBSScheduler ( void   )  const
Returns:
The BS scheduler installed on the BS
uint8_t ns3::BaseStationNetDevice::GetBwReqOppSize ( void   )  const
Returns:
The bandwidth request opportunity size in symbols
Time ns3::BaseStationNetDevice::GetDcdInterval ( void   )  const
Returns:
the Time between transmission of DCD messages
Time ns3::BaseStationNetDevice::GetInitialRangingInterval ( void   )  const
Returns:
Time between Initial Ranging regions assigned by the BS
Time ns3::BaseStationNetDevice::GetIntervalT8 ( void   )  const
Returns:
the Wait for DSA/DSC Acknowledge timeout
Ptr<BSLinkManager> ns3::BaseStationNetDevice::GetLinkManager ( void   )  const
Returns:
a pointer to the link manager installed on the BS
uint8_t ns3::BaseStationNetDevice::GetMaxInvitedRangRetries ( void   )  const
Returns:
the number of retries on contention Ranging
uint8_t ns3::BaseStationNetDevice::GetMaxRangingCorrectionRetries ( void   )  const
Returns:
the number of retries on contention Ranging Requests
uint32_t ns3::BaseStationNetDevice::GetNrDcdSent ( void   )  const
Returns:
the number dcd messages already sent
uint32_t ns3::BaseStationNetDevice::GetNrDlSymbols ( void   )  const
Returns:
the number of symbols in the downlink sub-frame
uint32_t ns3::BaseStationNetDevice::GetNrUcdSent ( void   )  const
Returns:
the number ucd messages already sent
uint32_t ns3::BaseStationNetDevice::GetNrUlSymbols ( void   )  const
Returns:
the number of symbols in the uplink sub-frame
uint8_t ns3::BaseStationNetDevice::GetRangReqOppSize ( void   )  const
Returns:
The ranging opportunity size in symbols
Ptr<SSManager> ns3::BaseStationNetDevice::GetSSManager ( void   )  const
Returns:
a pointer to the SS manager
static TypeId ns3::BaseStationNetDevice::GetTypeId ( void   )  [static]

This method returns the TypeId associated to ns3::BaseStationNetDevice.

This object is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::BaseStationNetDevice
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::BaseStationNetDevice

Attributes defined for this type:

  • BSScheduler: Downlink Scheduler for BS
  • InitialRangInterval: Time between Initial Ranging regions assigned by the BS. Maximum is 2s
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 50000000ns
    • Flags: construct write read
  • DcdInterval: Time between transmission of DCD messages. Maximum value is 10s.
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 3000000000ns
    • Flags: construct write read
  • UcdInterval: Time between transmission of UCD messages. Maximum value is 10s.
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 3000000000ns
    • Flags: construct write read
  • IntervalT8: Wait for DSA/DSC Acknowledge timeout. Maximum 300ms.
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 50000000ns
    • Flags: construct write read
  • RangReqOppSize: The ranging opportunity size in symbols
  • BwReqOppSize: The bandwidth request opportunity size in symbols
  • MaxRangCorrectionRetries: Number of retries on contention Ranging Requests
  • SSManager: The ss manager attached to this device.
  • Scheduler: The BS scheduler attached to this device.
  • LinkManager: The link manager attached to this device.
  • UplinkScheduler: The uplink scheduler attached to this device.
  • BsIpcsPacketClassifier: The uplink IP packet classifier attached to this device.
  • ServiceFlowManager: The service flow manager attached to this device.

Attributes defined in parent class ns3::WimaxNetDevice:

TraceSources defined for this type:

  • BSTx: A packet has been received from higher layers and is being processed in preparation for queueing for transmission.
  • BSTxDrop: A packet has been dropped in the MAC layer before being queued for transmission.
  • BSPromiscRx: A packet has been received by this device, has been passed up from the physical layer and is being forwarded up the local protocol stack. This is a promiscuous trace,
  • BSRx: A packet has been received by this device, has been passed up from the physical layer and is being forwarded up the local protocol stack. This is a non-promiscuous trace,
  • BSRxDrop: A packet has been dropped in the MAC layer after it has been passed up from the physical layer.

TraceSources defined in parent class ns3::WimaxNetDevice:

  • Rx: Receive trace
  • Tx: Transmit trace

Reimplemented from ns3::WimaxNetDevice.

Time ns3::BaseStationNetDevice::GetUcdInterval ( void   )  const
Returns:
Time between transmission of UCD messages
Ptr<UplinkScheduler> ns3::BaseStationNetDevice::GetUplinkScheduler ( void   )  const
Returns:
a pointer to the uplink scheduler installed on the device
void ns3::BaseStationNetDevice::SetBsClassifier ( Ptr< IpcsClassifier classifier  ) 
Parameters:
classifier a classifier to be installed on the BS
void ns3::BaseStationNetDevice::SetBSScheduler ( Ptr< BSScheduler bsSchedule  ) 
Parameters:
bsSchedule the downlink scheduler to be installed on the BS
void ns3::BaseStationNetDevice::SetBwReqOppSize ( uint8_t  bwReqOppSize  ) 
Parameters:
bwReqOppSize The bandwidth request opportunity size in symbols
void ns3::BaseStationNetDevice::SetDcdInterval ( Time  dcdInterval  ) 
Parameters:
dcdInterval Time between transmission of DCD messages
void ns3::BaseStationNetDevice::SetInitialRangingInterval ( Time  initialRangInterval  ) 
Parameters:
initialRangInterval Time between Initial Ranging regions assigned by the BS
void ns3::BaseStationNetDevice::SetIntervalT8 ( Time  interval  ) 
Parameters:
interval the Wait for DSA/DSC Acknowledge timeout
void ns3::BaseStationNetDevice::SetLinkManager ( Ptr< BSLinkManager linkManager  ) 
Parameters:
linkManager The link manager installed on the BS
void ns3::BaseStationNetDevice::SetMaxInvitedRangRetries ( uint8_t  maxInvitedRangRetries  ) 
Parameters:
maxInvitedRangRetries the number of retries on contention Ranging
void ns3::BaseStationNetDevice::SetMaxRangingCorrectionRetries ( uint8_t  maxRangCorrectionRetries  ) 
Parameters:
maxRangCorrectionRetries the number of retries on contention Ranging Requests
void ns3::BaseStationNetDevice::SetNrDlSymbols ( uint32_t  dlSymbols  ) 
Parameters:
dlSymbols the number of symbols in the downlink sub-frame
void ns3::BaseStationNetDevice::SetNrUlSymbols ( uint32_t  ulSymbols  ) 
Parameters:
ulSymbols the number of symbols in the uplink sub-frame
void ns3::BaseStationNetDevice::SetRangReqOppSize ( uint8_t  rangReqOppSize  ) 
Parameters:
rangReqOppSize The ranging opportunity size in symbols
void ns3::BaseStationNetDevice::SetSSManager ( Ptr< SSManager ssManager  ) 
Parameters:
ssManager the SS manager to be installed on the BS
void ns3::BaseStationNetDevice::SetUcdInterval ( Time  ucdInterval  ) 
Parameters:
ucdInterval the Time between transmission of UCD messages
void ns3::BaseStationNetDevice::SetUplinkScheduler ( Ptr< UplinkScheduler ulScheduler  ) 
Parameters:
ulScheduler the ulScheduler to be isnstalled on the BS
void ns3::BaseStationNetDevice::Start ( void   )  [virtual]

This method calls the virtual DoStart method on all the objects aggregated to this object. DoStart will be called only once over the lifetime of an object, just like DoDispose is called only once.

See also:
DoStart

Implements ns3::WimaxNetDevice.


The documentation for this class was generated from the following files: