Public Types | Public Member Functions | Static Public Member Functions | Public Attributes

ns3::SubscriberStationNetDevice Class Reference

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

List of all members.

Public Types

enum  State {
  SS_STATE_IDLE, SS_STATE_SCANNING, SS_STATE_SYNCHRONIZING, SS_STATE_ACQUIRING_PARAMETERS,
  SS_STATE_WAITING_REG_RANG_INTRVL, SS_STATE_WAITING_INV_RANG_INTRVL, SS_STATE_WAITING_RNG_RSP, SS_STATE_ADJUSTING_PARAMETERS,
  SS_STATE_REGISTERED, SS_STATE_TRANSMITTING, SS_STATE_STOPPED
}
enum  EventType {
  EVENT_NONE, EVENT_WAIT_FOR_RNG_RSP, EVENT_DL_MAP_SYNC_TIMEOUT, EVENT_LOST_DL_MAP,
  EVENT_LOST_UL_MAP, EVENT_DCD_WAIT_TIMEOUT, EVENT_UCD_WAIT_TIMEOUT, EVENT_RANG_OPP_WAIT_TIMEOUT
}

Public Member Functions

 SubscriberStationNetDevice (Ptr< Node >, Ptr< WimaxPhy >)
void InitSubscriberStationNetDevice (void)
 initializes the net device and sets the parameters to the default values
void SetLostDlMapInterval (Time lostDlMapInterval)
Time GetLostDlMapInterval (void) const
void SetLostUlMapInterval (Time lostUlMapInterval)
Time GetLostUlMapInterval (void) const
void SetMaxDcdInterval (Time maxDcdInterval)
Time GetMaxDcdInterval (void) const
void SetMaxUcdInterval (Time maxUcdInterval)
Time GetMaxUcdInterval (void) const
void SetIntervalT1 (Time interval1)
Time GetIntervalT1 (void) const
void SetIntervalT2 (Time interval2)
Time GetIntervalT2 (void) const
void SetIntervalT3 (Time interval3)
Time GetIntervalT3 (void) const
void SetIntervalT7 (Time interval7)
Time GetIntervalT7 (void) const
void SetIntervalT12 (Time interval12)
Time GetIntervalT12 (void) const
void SetIntervalT20 (Time interval20)
Time GetIntervalT20 (void) const
void SetIntervalT21 (Time interval21)
Time GetIntervalT21 (void) const
void SetMaxContentionRangingRetries (uint8_t maxContentionRangingRetries)
uint8_t GetMaxContentionRangingRetries (void) const
void SetBasicConnection (Ptr< WimaxConnection > basicConnection)
Ptr< WimaxConnectionGetBasicConnection (void) const
void SetPrimaryConnection (Ptr< WimaxConnection > primaryConnection)
Ptr< WimaxConnectionGetPrimaryConnection (void) const
Cid GetBasicCid (void) const
Cid GetPrimaryCid (void) const
void SetModulationType (WimaxPhy::ModulationType modulationType)
 Set the most efficient modulation and coding scheme (MCS) supported by the device.
WimaxPhy::ModulationType GetModulationType (void) const
void SetAreManagementConnectionsAllocated (bool areManagementConnectionsAllocated)
bool GetAreManagementConnectionsAllocated (void) const
void SetAreServiceFlowsAllocated (bool areServiceFlowsAllocated)
bool GetAreServiceFlowsAllocated (void) const
Ptr< SSSchedulerGetScheduler (void) const
void SetScheduler (Ptr< SSScheduler > ssScheduler)
bool HasServiceFlows (void) const
bool Enqueue (Ptr< Packet > packet, const MacHeaderType &hdrType, Ptr< WimaxConnection > connection)
 Enqueue a packet into a connection queue.
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.
void Start (void)
void Stop (void)
void AddServiceFlow (ServiceFlow *sf)
 adds a new service flow
void AddServiceFlow (ServiceFlow sf)
 adds a new service flow
void SetTimer (EventId eventId, EventId &event)
bool IsRegistered (void) const
Time GetTimeToAllocation (Time defferTime)
Ptr< IpcsClassifierGetIpcsClassifier () const
void SetIpcsPacketClassifier (Ptr< IpcsClassifier >)
 Sets the packet classifier to be used.
Ptr< SSLinkManagerGetLinkManager (void) const
void SetLinkManager (Ptr< SSLinkManager >)
 sets the link manager to be used
Ptr< SsServiceFlowManagerGetServiceFlowManager (void) const
void SetServiceFlowManager (Ptr< SsServiceFlowManager >)
 Sets the service flow manager to be installed on the device.

Static Public Member Functions

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

Public Attributes

Ptr< SSLinkManagerm_linkManager

Member Function Documentation

bool ns3::SubscriberStationNetDevice::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.

bool ns3::SubscriberStationNetDevice::GetAreManagementConnectionsAllocated ( void   )  const
Returns:
true if the management connections are allocated, false otherwise
bool ns3::SubscriberStationNetDevice::GetAreServiceFlowsAllocated ( void   )  const
Returns:
true if the service flows are allocated, false otherwise
Cid ns3::SubscriberStationNetDevice::GetBasicCid ( void   )  const
Returns:
the basic CID
Ptr<WimaxConnection> ns3::SubscriberStationNetDevice::GetBasicConnection ( void   )  const
Returns:
the basic connection currently in use
Time ns3::SubscriberStationNetDevice::GetIntervalT1 ( void   )  const

returns the wait for DCD timeout

Time ns3::SubscriberStationNetDevice::GetIntervalT12 ( void   )  const

returns the wait for UCD descriptor timeout

Time ns3::SubscriberStationNetDevice::GetIntervalT2 ( void   )  const

returns the wait for broadcast ranging timeout, i.e., wait for initial ranging opportunity

Time ns3::SubscriberStationNetDevice::GetIntervalT20 ( void   )  const

returns the Time the SS searches for preambles on a given channel

Time ns3::SubscriberStationNetDevice::GetIntervalT21 ( void   )  const

returns the time the SS searches for (decodable) DL-MAP on a given channel

Time ns3::SubscriberStationNetDevice::GetIntervalT3 ( void   )  const

returns the ranging Response reception timeout following the transmission of a ranging request

Time ns3::SubscriberStationNetDevice::GetIntervalT7 ( void   )  const

returns the wait for DSA/DSC/DSD Response timeout

Ptr<IpcsClassifier> ns3::SubscriberStationNetDevice::GetIpcsClassifier (  )  const
Returns:
a pointer to the CS packet classifier
Ptr<SSLinkManager> ns3::SubscriberStationNetDevice::GetLinkManager ( void   )  const
Returns:
a pointer to the link manger currently used
Time ns3::SubscriberStationNetDevice::GetLostUlMapInterval ( void   )  const

returns the time since last received UL-MAP before uplink synchronization is considered lost

uint8_t ns3::SubscriberStationNetDevice::GetMaxContentionRangingRetries ( void   )  const
Returns:
the Number of retries on contention Ranging Requests
Time ns3::SubscriberStationNetDevice::GetMaxDcdInterval ( void   )  const

returns the maximum time between transmission of DCD messages

Time ns3::SubscriberStationNetDevice::GetMaxUcdInterval ( void   )  const

returns the maximum time between transmission of UCD messages

WimaxPhy::ModulationType ns3::SubscriberStationNetDevice::GetModulationType ( void   )  const

returns the most efficient modulation and coding scheme (MCS) supported by the device

Cid ns3::SubscriberStationNetDevice::GetPrimaryCid ( void   )  const
Returns:
the primary CID
Ptr<WimaxConnection> ns3::SubscriberStationNetDevice::GetPrimaryConnection ( void   )  const

returns the primary connection currently usde

Ptr<SSScheduler> ns3::SubscriberStationNetDevice::GetScheduler ( void   )  const
Returns:
the scheduler installed on the device
Ptr<SsServiceFlowManager> ns3::SubscriberStationNetDevice::GetServiceFlowManager ( void   )  const
Returns:
a pointer to the service flow manager installed on the device
static TypeId ns3::SubscriberStationNetDevice::GetTypeId ( void   )  [static]

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

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

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

Attributes defined for this type:

  • BasicConnection: Basic connection
  • PrimaryConnection: Primary connection
  • LostDlMapInterval: Time since last received DL-MAP message before downlink synchronization is considered lost. Maximum is 600ms
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 500000000ns
    • Flags: construct write read
  • LostUlMapInterval: Time since last received UL-MAP before uplink synchronization is considered lost, maximum is 600.
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 500000000ns
    • Flags: construct write read
  • MaxDcdInterval: Maximum time between transmission of DCD messages. Maximum is 10s
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 10000000000ns
    • Flags: construct write read
  • MaxUcdInterval: Maximum time between transmission of UCD messages. Maximum is 10s
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 10000000000ns
    • Flags: construct write read
  • IntervalT1: Wait for DCD timeout. Maximum is 5*maxDcdInterval
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 50000000000ns
    • Flags: construct write read
  • IntervalT2: Wait for broadcast ranging timeout, i.e., wait for initial ranging opportunity. Maximum is 5*Ranging interval
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 10000000000ns
    • Flags: construct write read
  • IntervalT3: ranging Response reception timeout following the transmission of a ranging request. Maximum is 200ms
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 200000000ns
    • Flags: construct write read
  • IntervalT7: wait for DSA/DSC/DSD Response timeout. Maximum is 1s
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 100000000ns
    • Flags: construct write read
  • IntervalT12: Wait for UCD descriptor.Maximum is 5*MaxUcdInterval
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 10000000000ns
    • Flags: construct write read
  • IntervalT20: Time the SS searches for preambles on a given channel. Minimum is 2 MAC frames
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 500000000ns
    • Flags: construct write read
  • IntervalT21: time the SS searches for (decodable) DL-MAP on a given channel
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 10000000000ns
    • Flags: construct write read
  • MaxContentionRangingRetries: Number of retries on contention Ranging Requests
  • SSScheduler: The ss scheduler attached to this device.
  • LinkManager: The ss link manager attached to this device.
  • Classifier: The ss classifier attached to this device.

Attributes defined in parent class ns3::WimaxNetDevice:

TraceSources defined for this type:

  • SSTxDrop: A packet has been dropped in the MAC layer before being queued for transmission.
  • SSPromiscRx: 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,
  • SSRx: 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,
  • SSRxDrop: 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.

bool ns3::SubscriberStationNetDevice::HasServiceFlows ( void   )  const
Returns:
true if the device has at least one active service flow, false otherwise
bool ns3::SubscriberStationNetDevice::IsRegistered ( void   )  const
Returns:
true if the SS is registered to a BS, false otherwise
void ns3::SubscriberStationNetDevice::SetAreManagementConnectionsAllocated ( bool  areManagementConnectionsAllocated  ) 
Parameters:
areManagementConnectionsAllocated true if the management connections are allocated, false otherwise
void ns3::SubscriberStationNetDevice::SetAreServiceFlowsAllocated ( bool  areServiceFlowsAllocated  ) 
Parameters:
areServiceFlowsAllocated true if the service flows are allocated, false otherwise
void ns3::SubscriberStationNetDevice::SetBasicConnection ( Ptr< WimaxConnection basicConnection  ) 
Parameters:
basicConnection the basic connection to be used
void ns3::SubscriberStationNetDevice::SetIntervalT1 ( Time  interval1  ) 
Parameters:
interval1 Wait for DCD timeout
void ns3::SubscriberStationNetDevice::SetIntervalT12 ( Time  interval12  ) 
Parameters:
interval12 the Wait for UCD descriptor timeout
void ns3::SubscriberStationNetDevice::SetIntervalT2 ( Time  interval2  ) 
Parameters:
interval2 the wait for broadcast ranging timeout, i.e., wait for initial ranging opportunity
void ns3::SubscriberStationNetDevice::SetIntervalT20 ( Time  interval20  ) 
Parameters:
interval20 the Time the SS searches for preambles on a given channel
void ns3::SubscriberStationNetDevice::SetIntervalT21 ( Time  interval21  ) 
Parameters:
interval21 the time the SS searches for (decodable) DL-MAP on a given channel
void ns3::SubscriberStationNetDevice::SetIntervalT3 ( Time  interval3  ) 
Parameters:
interval3 the ranging Response reception timeout following the transmission of a ranging request
void ns3::SubscriberStationNetDevice::SetIntervalT7 ( Time  interval7  ) 
Parameters:
interval7 the wait for DSA/DSC/DSD Response timeout
void ns3::SubscriberStationNetDevice::SetLostDlMapInterval ( Time  lostDlMapInterval  ) 
Parameters:
lostDlMapInterval time since last received DL-MAP message before downlink synchronization is considered lost
void ns3::SubscriberStationNetDevice::SetLostUlMapInterval ( Time  lostUlMapInterval  ) 
Parameters:
lostUlMapInterval Time since last received UL-MAP before uplink synchronization is considered lost
void ns3::SubscriberStationNetDevice::SetMaxContentionRangingRetries ( uint8_t  maxContentionRangingRetries  ) 
Parameters:
maxContentionRangingRetries the Number of retries on contention Ranging Requests
void ns3::SubscriberStationNetDevice::SetMaxDcdInterval ( Time  maxDcdInterval  ) 
Parameters:
maxDcdInterval Maximum time between transmission of DCD messages
void ns3::SubscriberStationNetDevice::SetMaxUcdInterval ( Time  maxUcdInterval  ) 
Parameters:
maxUcdInterval Maximum time between transmission of UCD messages
void ns3::SubscriberStationNetDevice::SetModulationType ( WimaxPhy::ModulationType  modulationType  ) 

Set the most efficient modulation and coding scheme (MCS) supported by the device.

Parameters:
modulationType the most robust MCS supported
void ns3::SubscriberStationNetDevice::SetPrimaryConnection ( Ptr< WimaxConnection primaryConnection  ) 
Parameters:
primaryConnection the primary connection to be used
void ns3::SubscriberStationNetDevice::SetScheduler ( Ptr< SSScheduler ssScheduler  ) 
Parameters:
ssScheduler the scheduler to be installed on the device
void ns3::SubscriberStationNetDevice::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: