A Discrete-Event Network Simulator
API
ns3::SubscriberStationNetDevice Class Reference

SubscriberStationNetDevice subclass of WimaxNetDevice. More...

#include "ss-net-device.h"

+ Inheritance diagram for ns3::SubscriberStationNetDevice:
+ Collaboration diagram for ns3::SubscriberStationNetDevice:

Public Types

typedef Callback< void, std::string, Ptr< const Packet > > AsciiTraceCallback
 Callback for logging packets on ASCII traces. More...
 
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
}
 EventType enumeration. More...
 
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
}
 State enumeration. More...
 
- Public Types inherited from ns3::WimaxNetDevice
enum  Direction { DIRECTION_DOWNLINK , DIRECTION_UPLINK }
 Direction enumeration. More...
 
enum  RangingStatus { RANGING_STATUS_EXPIRED , RANGING_STATUS_CONTINUE , RANGING_STATUS_ABORT , RANGING_STATUS_SUCCESS }
 RangingStatus enumeration. More...
 
typedef void(* TxRxTracedCallback) (Ptr< const Packet > packet, const Mac48Address &mac)
 TracedCallback signature for packet and Mac48Address. More...
 
- Public Types inherited from ns3::NetDevice
typedef void(* LinkChangeTracedCallback) (void)
 TracedCallback signature for link changed event. More...
 
enum  PacketType {
  PACKET_HOST = 1 , NS3_PACKET_HOST = PACKET_HOST , PACKET_BROADCAST , NS3_PACKET_BROADCAST = PACKET_BROADCAST ,
  PACKET_MULTICAST , NS3_PACKET_MULTICAST = PACKET_MULTICAST , PACKET_OTHERHOST , NS3_PACKET_OTHERHOST = PACKET_OTHERHOST
}
 Packet types are used as they are in Linux. More...
 
typedef Callback< bool, Ptr< NetDevice >, Ptr< const Packet >, uint16_t, const Address &, const Address &, enum PacketTypePromiscReceiveCallback
 
typedef Callback< bool, Ptr< NetDevice >, Ptr< const Packet >, uint16_t, const Address & > ReceiveCallback
 

Public Member Functions

 SubscriberStationNetDevice (Ptr< Node > node, Ptr< WimaxPhy > phy)
 Constructor. More...
 
 SubscriberStationNetDevice (void)
 
 ~SubscriberStationNetDevice (void)
 
void AddServiceFlow (ServiceFlow *sf)
 adds a new service flow More...
 
void AddServiceFlow (ServiceFlow sf)
 adds a new service flow More...
 
bool Enqueue (Ptr< Packet > packet, const MacHeaderType &hdrType, Ptr< WimaxConnection > connection)
 Enqueue a packet into a connection queue. More...
 
bool GetAreManagementConnectionsAllocated (void) const
 
bool GetAreServiceFlowsAllocated (void) const
 
Cid GetBasicCid (void) const
 
Ptr< WimaxConnectionGetBasicConnection (void) const
 
Time GetIntervalT1 (void) const
 
Time GetIntervalT12 (void) const
 
Time GetIntervalT2 (void) const
 
Time GetIntervalT20 (void) const
 
Time GetIntervalT21 (void) const
 
Time GetIntervalT3 (void) const
 
Time GetIntervalT7 (void) const
 
Ptr< IpcsClassifierGetIpcsClassifier () const
 
Ptr< SSLinkManagerGetLinkManager (void) const
 
Time GetLostDlMapInterval (void) const
 
Time GetLostUlMapInterval (void) const
 
uint8_t GetMaxContentionRangingRetries (void) const
 
Time GetMaxDcdInterval (void) const
 
Time GetMaxUcdInterval (void) const
 
WimaxPhy::ModulationType GetModulationType (void) const
 
Cid GetPrimaryCid (void) const
 
Ptr< WimaxConnectionGetPrimaryConnection (void) const
 
Ptr< SSSchedulerGetScheduler (void) const
 
Ptr< SsServiceFlowManagerGetServiceFlowManager (void) const
 
Time GetTimeToAllocation (Time deferTime)
 Get time to allocation. More...
 
bool HasServiceFlows (void) const
 
void InitSubscriberStationNetDevice (void)
 initializes the net device and sets the parameters to the default values More...
 
bool IsRegistered (void) const
 
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. More...
 
void SetAreManagementConnectionsAllocated (bool areManagementConnectionsAllocated)
 
void SetAreServiceFlowsAllocated (bool areServiceFlowsAllocated)
 
void SetAsciiTxQueueDequeueCallback (AsciiTraceCallback cb)
 Set the Dequeue callback for ASCII tracing. More...
 
void SetAsciiTxQueueDropCallback (AsciiTraceCallback cb)
 Set the Drop callback for ASCII tracing. More...
 
void SetAsciiTxQueueEnqueueCallback (AsciiTraceCallback cb)
 Set the Enqueue callback for ASCII tracing. More...
 
void SetBasicConnection (Ptr< WimaxConnection > basicConnection)
 
void SetIntervalT1 (Time interval1)
 
void SetIntervalT12 (Time interval12)
 
void SetIntervalT2 (Time interval2)
 
void SetIntervalT20 (Time interval20)
 
void SetIntervalT21 (Time interval21)
 
void SetIntervalT3 (Time interval3)
 
void SetIntervalT7 (Time interval7)
 
void SetIpcsPacketClassifier (Ptr< IpcsClassifier > classifier)
 Sets the packet classifier to be used. More...
 
void SetLinkManager (Ptr< SSLinkManager > linkManager)
 sets the link manager to be used More...
 
void SetLostDlMapInterval (Time lostDlMapInterval)
 
void SetLostUlMapInterval (Time lostUlMapInterval)
 
void SetMaxContentionRangingRetries (uint8_t maxContentionRangingRetries)
 
void SetMaxDcdInterval (Time maxDcdInterval)
 
void SetMaxUcdInterval (Time maxUcdInterval)
 
void SetModulationType (WimaxPhy::ModulationType modulationType)
 Set the most efficient modulation and coding scheme (MCS) supported by the device. More...
 
void SetPrimaryConnection (Ptr< WimaxConnection > primaryConnection)
 
void SetScheduler (Ptr< SSScheduler > ssScheduler)
 
void SetServiceFlowManager (Ptr< SsServiceFlowManager > sfm)
 Sets the service flow manager to be installed on the device. More...
 
void SetTimer (EventId eventId, EventId &event)
 Set timer. More...
 
void Start (void)
 Start the device. More...
 
void Stop (void)
 Stop the device. More...
 
- Public Member Functions inherited from ns3::WimaxNetDevice
 WimaxNetDevice (void)
 
virtual ~WimaxNetDevice (void)
 
virtual void AddLinkChangeCallback (Callback< void > callback)
 Add link change callback function. More...
 
void Attach (Ptr< WimaxChannel > channel)
 Attach device to channel. More...
 
void CreateDefaultConnections (void)
 Creates the initial ranging and broadcast connections. More...
 
void ForwardDown (Ptr< PacketBurst > burst, WimaxPhy::ModulationType modulationType)
 Forward a packet down the stack. More...
 
void ForwardUp (Ptr< Packet > packet, const Mac48Address &source, const Mac48Address &dest)
 Forward a packet to the next layer above the device. More...
 
virtual Address GetAddress (void) const
 Get address of the device. More...
 
Ptr< BandwidthManagerGetBandwidthManager (void) const
 Get the bandwidth manager on the device. More...
 
virtual Address GetBroadcast (void) const
 Get broadcast address. More...
 
Ptr< WimaxConnectionGetBroadcastConnection (void) const
 Get the broadcast connection. More...
 
Ptr< BurstProfileManagerGetBurstProfileManager (void) const
 Get the burst profile manager. More...
 
uint64_t GetChannel (uint8_t index) const
 Get the channel object by index. More...
 
virtual Ptr< ChannelGetChannel (void) const
 Get the channel. More...
 
Ptr< ConnectionManagerGetConnectionManager (void) const
 Get the connection manager of the device. More...
 
Dcd GetCurrentDcd (void) const
 Get the current DCD. More...
 
Ucd GetCurrentUcd (void) const
 Get the current UCD. More...
 
virtual uint32_t GetIfIndex (void) const
 Get interface index. More...
 
Ptr< WimaxConnectionGetInitialRangingConnection (void) const
 Get the initial ranging connection. More...
 
Mac48Address GetMacAddress (void) const
 Get the MAC address. More...
 
virtual uint16_t GetMtu (void) const
 Get MTU of the device. More...
 
virtual Address GetMulticast (Ipv4Address multicastGroup) const
 Make and return a MAC multicast address using the provided multicast group. More...
 
virtual Address GetMulticast (Ipv6Address addr) const
 Get the MAC multicast address corresponding to the IPv6 address provided. More...
 
virtual Address GetMulticast (void) const
 Get multicast address. More...
 
virtual std::string GetName (void) const
 Get device name. More...
 
virtual Ptr< NodeGetNode (void) const
 Get node pointer. More...
 
uint32_t GetNrFrames (void) const
 Get the number of frames. More...
 
Ptr< WimaxPhyGetPhy (void) const
 Get the physical layer object. More...
 
virtual Ptr< ChannelGetPhyChannel (void) const
 Get the channel (this method is redundant with GetChannel()) More...
 
NetDevice::PromiscReceiveCallback GetPromiscReceiveCallback (void)
 Get promiscious receive callback function. More...
 
uint16_t GetRtg (void) const
 Get receive/transmit transition gap. More...
 
uint8_t GetState (void) const
 Get the device state. More...
 
uint16_t GetTtg (void) const
 Get transmission/receive transition gap. More...
 
virtual bool IsBridge (void) const
 Return true if the net device is acting as a bridge. More...
 
virtual bool IsBroadcast (void) const
 Check if broadcast enabled. More...
 
virtual bool IsLinkUp (void) const
 Check if link is up. More...
 
virtual bool IsMulticast (void) const
 Check if multicast enabled. More...
 
virtual bool IsPointToPoint (void) const
 Check if device is a point-to-point device. More...
 
bool IsPromisc (void)
 Check if device is promiscious. More...
 
virtual Address MakeMulticastAddress (Ipv4Address multicastGroup) const
 Make multicast address. More...
 
virtual bool NeedsArp (void) const
 Check if device needs ARP. More...
 
void NotifyPromiscTrace (Ptr< Packet > p)
 Notify promiscious trace of a packet arrival. More...
 
virtual bool Send (Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber)
 Send function. More...
 
virtual bool SendFrom (Ptr< Packet > packet, const Address &source, const Address &dest, uint16_t protocolNumber)
 Send a packet. More...
 
virtual void SetAddress (Address address)
 Set address of the device. More...
 
void SetBandwidthManager (Ptr< BandwidthManager > bandwidthManager)
 Set the bandwidth manager on the device. More...
 
void SetBurstProfileManager (Ptr< BurstProfileManager > burstProfileManager)
 Set the burst profile manager. More...
 
void SetChannel (Ptr< WimaxChannel > wimaxChannel)
 Set the channel object. More...
 
virtual void SetConnectionManager (Ptr< ConnectionManager > connectionManager)
 Set the connection manager of the device. More...
 
void SetCurrentDcd (Dcd dcd)
 Set the current DCD. More...
 
void SetCurrentUcd (Ucd ucd)
 Set the current UCD. More...
 
virtual void SetIfIndex (const uint32_t index)
 Set interface index. More...
 
virtual void SetLinkChangeCallback (Callback< void > callback)
 Set link change callback function. More...
 
void SetMacAddress (Mac48Address address)
 Set the MAC address. More...
 
virtual bool SetMtu (const uint16_t mtu)
 Set MTU value for the device. More...
 
virtual void SetName (const std::string name)
 Set device name. More...
 
virtual void SetNode (Ptr< Node > node)
 Set node pointer. More...
 
void SetNrFrames (uint32_t nrFrames)
 Set the number of frames. More...
 
void SetPhy (Ptr< WimaxPhy > phy)
 Set the physical layer object. More...
 
virtual void SetPromiscReceiveCallback (PromiscReceiveCallback cb)
 Set promiscious receive callback function. More...
 
virtual void SetReceiveCallback (NetDevice::ReceiveCallback cb)
 Set receive callback function. More...
 
void SetReceiveCallback (void)
 Set receive callback function. More...
 
void SetRtg (uint16_t rtg)
 Set receive/transmit transition gap. More...
 
void SetState (uint8_t state)
 Set the device state. More...
 
void SetTtg (uint16_t ttg)
 Set transmission/receive transition gap. More...
 
virtual bool SupportsSendFrom (void) const
 Check if device supports the SendFrom method. More...
 
- Public Member Functions inherited from ns3::NetDevice
virtual ~NetDevice ()
 
- Public Member Functions inherited from ns3::Object
 Object ()
 Constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together. More...
 
void Dispose (void)
 Dispose of this Object. More...
 
AggregateIterator GetAggregateIterator (void) const
 Get an iterator to the Objects aggregated to this one. More...
 
virtual TypeId GetInstanceTypeId (void) const
 Get the most derived TypeId for this Object. More...
 
template<>
Ptr< ObjectGetObject () const
 Specialization of () for objects of type ns3::Object. More...
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId. More...
 
template<>
Ptr< ObjectGetObject (TypeId tid) const
 Specialization of (TypeId tid) for objects of type ns3::Object. More...
 
template<typename T >
Ptr< T > GetObject (void) const
 Get a pointer to the requested aggregated Object. More...
 
void Initialize (void)
 Invoke DoInitialize on all Objects aggregated to this one. More...
 
bool IsInitialized (void) const
 Check if the object has been initialized. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o[[maybe_unused]])
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= ([[maybe_unused]] const SimpleRefCount &o)
 Assignment operator. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor. More...
 
void GetAttribute (std::string name, AttributeValue &value) const
 Get the value of an attribute, raising fatal errors if unsuccessful. More...
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising erros. More...
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful. More...
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors. More...
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context. More...
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context. More...
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context. More...
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::WimaxNetDevice
static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::NetDevice
static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Public Attributes

Ptr< SSLinkManagerm_linkManager
 link manager More...
 
- Public Attributes inherited from ns3::WimaxNetDevice
TracedCallback< Ptr< const Packet >, const Mac48Address & > m_traceRx
 
TracedCallback< Ptr< const Packet >, const Mac48Address & > m_traceTx
 

Private Member Functions

void DoDispose (void)
 Destructor implementation. More...
 
void DoReceive (Ptr< Packet > packet)
 Receive a packet. More...
 
bool DoSend (Ptr< Packet > packet, const Mac48Address &source, const Mac48Address &dest, uint16_t protocolNumber)
 Send a packet. More...
 
void ProcessDcd (const Dcd &dcd)
 Process DCD. More...
 
void ProcessDlMap (const DlMap &dlmap)
 Process DL map. More...
 
void ProcessUcd (const Ucd &ucd)
 Process UCD. More...
 
void ProcessUlMap (const UlMap &ulmap)
 Process UL map. More...
 

Static Private Member Functions

static Time GetDefaultLostDlMapInterval ()
 Get default lost DL map interval. More...
 

Private Attributes

double m_allocationStartTime
 allocation start time More...
 
bool m_areManagementConnectionsAllocated
 are management connections allocated More...
 
bool m_areServiceFlowsAllocated
 are service flows allocated More...
 
AsciiTraceCallback m_asciiTxQueueDequeueCb
 Bound callback to perform ASCII logging for Dequeue events. More...
 
AsciiTraceCallback m_asciiTxQueueDropCb
 Bound callback to perform ASCII logging for Drop events. More...
 
AsciiTraceCallback m_asciiTxQueueEnqueueCb
 Bound callback to perform ASCII logging for Enqueue events. More...
 
Mac48Address m_baseStationId
 base station ID More...
 
Ptr< WimaxConnectionm_basicConnection
 basic connection More...
 
Ptr< IpcsClassifierm_classifier
 the classifier More...
 
uint8_t m_dcdCount
 DCD count. More...
 
EventId m_dcdWaitTimeoutEvent
 DCD wait timeout event. More...
 
OfdmDlBurstProfilem_dlBurstProfile
 DL burst profile. More...
 
Time m_intervalT1
 in seconds, wait for DCD timeout More...
 
Time m_intervalT12
 in seconds, wait for UCD descriptor More...
 
Time m_intervalT2
 in seconds, wait for broadcast ranging timeout, i.e., wait for initial ranging opportunity More...
 
Time m_intervalT20
 in seconds, time the SS searches for preambles on a given channel More...
 
Time m_intervalT21
 in seconds, time the SS searches for (decodable) DL-MAP on a given channel More...
 
Time m_intervalT3
 in milliseconds, ranging Response reception timeout following the transmission of a ranging request More...
 
Time m_intervalT7
 in seconds, wait for DSA/DSC/DSD Response timeout More...
 
EventId m_lostDlMapEvent
 lost DL map event More...
 
Time m_lostDlMapInterval
 in milliseconds, time since last received DL-MAP before downlink synchronization is considered lost, maximum is 600 More...
 
EventId m_lostUlMapEvent
 lost UL map event More...
 
Time m_lostUlMapInterval
 in milliseconds, time since last received UL-MAP before uplink synchronization is considered lost, maximum is 600 More...
 
uint8_t m_maxContentionRangingRetries
 maximum contention ranging retries More...
 
Time m_maxDcdInterval
 in seconds, maximum time between transmission of DCD messages More...
 
Time m_maxUcdInterval
 in seconds, maximum time between transmission of UCD messages More...
 
WimaxPhy::ModulationType m_modulationType
 modulation type More...
 
uint32_t m_nrDcdRecvd
 number DCD received More...
 
uint16_t m_nrDlMapElements
 number DL Map elements More...
 
uint32_t m_nrDlMapRecvd
 number DL map received More...
 
uint32_t m_nrUcdRecvd
 number UCD received More...
 
uint16_t m_nrUlMapElements
 number UL Map elements More...
 
uint32_t m_nrUlMapRecvd
 number UL map received More...
 
Ptr< WimaxConnectionm_primaryConnection
 primary connection More...
 
EventId m_rangOppWaitTimeoutEvent
 range opp wait timeout event More...
 
Ptr< SSSchedulerm_scheduler
 the scheduler More...
 
Ptr< SsServiceFlowManagerm_serviceFlowManager
 the service flow manager More...
 
TracedCallback< Ptr< const Packet > > m_ssPromiscRxTrace
 The trace source fired for packets successfully received by the device immediately before being forwarded up to higher layers (at the L2/L3 transition). More...
 
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 during reception. More...
 
TracedCallback< Ptr< const Packet > > m_ssRxTrace
 The trace source fired for packets successfully received by the device immediately before being forwarded up to higher layers (at the L2/L3 transition). More...
 
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 during transmission. More...
 
TracedCallback< Ptr< const Packet > > m_ssTxTrace
 The trace source fired when packets come into the "top" of the device at the L3/L2 transition, before being queued for transmission. More...
 
TracedCallback< Ptr< const Packet >, Mac48Address, const Cid & > m_traceSSRx
 trace SS receive callback More...
 
uint8_t m_ucdCount
 UCD count. More...
 
EventId m_ucdWaitTimeoutEvent
 UCD wait timeout event. More...
 
OfdmUlBurstProfilem_ulBurstProfile
 UL burst profile. More...
 

Additional Inherited Members

- Static Public Attributes inherited from ns3::WimaxNetDevice
static uint8_t m_direction = ~0
 downlink or uplink More...
 
static Time m_frameStartTime = Seconds (0)
 temp, to determine the frame start time at SS side, shall actually be determined by frame start preamble More...
 
- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object. More...
 
virtual void DoInitialize (void)
 Initialize() implementation. More...
 
virtual void NotifyNewAggregate (void)
 Notify all Objects aggregated to this one of a new Object being aggregated. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes. More...
 
virtual void NotifyConstructionCompleted (void)
 Notifier called once the ObjectBase is fully constructed. More...
 

Detailed Description

SubscriberStationNetDevice subclass of WimaxNetDevice.

Config Paths

ns3::SubscriberStationNetDevice is accessible through the following paths with Config::Set and Config::Connect:

  • "/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice"
  • "/NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice"

Attributes

  • 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: ns3::TimeValue
    • Underlying type: Time +9.22337e+18ns:+9.22337e+18ns
    • Initial value: +5e+08ns
    • Flags: construct write read
  • LostUlMapInterval: Time since last received UL-MAP before uplink synchronization is considered lost, maximum is 600.
    • Set with class: ns3::TimeValue
    • Underlying type: Time +9.22337e+18ns:+9.22337e+18ns
    • Initial value: +5e+08ns
    • Flags: construct write read
  • MaxDcdInterval: Maximum time between transmission of DCD messages. Maximum is 10s
    • Set with class: ns3::TimeValue
    • Underlying type: Time +9.22337e+18ns:+9.22337e+18ns
    • Initial value: +1e+10ns
    • Flags: construct write read
  • MaxUcdInterval: Maximum time between transmission of UCD messages. Maximum is 10s
    • Set with class: ns3::TimeValue
    • Underlying type: Time +9.22337e+18ns:+9.22337e+18ns
    • Initial value: +1e+10ns
    • Flags: construct write read
  • IntervalT1: Wait for DCD timeout. Maximum is 5*maxDcdInterval
    • Set with class: ns3::TimeValue
    • Underlying type: Time +9.22337e+18ns:+9.22337e+18ns
    • Initial value: +5e+10ns
    • 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: ns3::TimeValue
    • Underlying type: Time +9.22337e+18ns:+9.22337e+18ns
    • Initial value: +1e+10ns
    • Flags: construct write read
  • IntervalT3: ranging Response reception timeout following the transmission of a ranging request. Maximum is 200ms
    • Set with class: ns3::TimeValue
    • Underlying type: Time +9.22337e+18ns:+9.22337e+18ns
    • Initial value: +2e+08ns
    • Flags: construct write read
  • IntervalT7: wait for DSA/DSC/DSD Response timeout. Maximum is 1s
    • Set with class: ns3::TimeValue
    • Underlying type: Time +9.22337e+18ns:+9.22337e+18ns
    • Initial value: +1e+08ns
    • Flags: construct write read
  • IntervalT12: Wait for UCD descriptor.Maximum is 5*MaxUcdInterval
    • Set with class: ns3::TimeValue
    • Underlying type: Time +9.22337e+18ns:+9.22337e+18ns
    • Initial value: +1e+10ns
    • Flags: construct write read
  • IntervalT20: Time the SS searches for preambles on a given channel. Minimum is 2 MAC frames
    • Set with class: ns3::TimeValue
    • Underlying type: Time +9.22337e+18ns:+9.22337e+18ns
    • Initial value: +5e+08ns
    • Flags: construct write read
  • IntervalT21: time the SS searches for (decodable) DL-MAP on a given channel
    • Set with class: ns3::TimeValue
    • Underlying type: Time +9.22337e+18ns:+9.22337e+18ns
    • Initial value: +1e+10ns
    • Flags: construct write read
  • MaxContentionRangingRetries: Number of retries on contention Ranging Requests
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 1:16
    • Initial value: 16
    • Flags: construct write read
  • 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

  • SSTxDrop: A packet has been dropped in the MAC layer before being queued for transmission.
    Callback signature: ns3::Packet::TracedCallback
  • 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,
    Callback signature: ns3::Packet::TracedCallback
  • 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,
    Callback signature: ns3::Packet::TracedCallback
  • SSRxDrop: A packet has been dropped in the MAC layer after it has been passed up from the physical layer.
    Callback signature: ns3::Packet::TracedCallback

TraceSources defined in parent class ns3::WimaxNetDevice

Size of this type is 912 bytes (on a 64-bit architecture).

Definition at line 48 of file ss-net-device.h.

Member Typedef Documentation

◆ AsciiTraceCallback

Callback for logging packets on ASCII traces.

Definition at line 346 of file ss-net-device.h.

Member Enumeration Documentation

◆ EventType

EventType enumeration.

Enumerator
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 

Definition at line 68 of file ss-net-device.h.

◆ State

State enumeration.

Enumerator
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 

Definition at line 52 of file ss-net-device.h.

Constructor & Destructor Documentation

◆ SubscriberStationNetDevice() [1/2]

ns3::SubscriberStationNetDevice::SubscriberStationNetDevice ( void  )

Definition at line 211 of file ss-net-device.cc.

References InitSubscriberStationNetDevice().

+ Here is the call graph for this function:

◆ SubscriberStationNetDevice() [2/2]

ns3::SubscriberStationNetDevice::SubscriberStationNetDevice ( Ptr< Node node,
Ptr< WimaxPhy phy 
)

Constructor.

Parameters
nodethe node
phythe wimax phy

Definition at line 257 of file ss-net-device.cc.

References InitSubscriberStationNetDevice(), ns3::WimaxNetDevice::SetNode(), and ns3::WimaxNetDevice::SetPhy().

+ Here is the call graph for this function:

◆ ~SubscriberStationNetDevice()

ns3::SubscriberStationNetDevice::~SubscriberStationNetDevice ( void  )

Definition at line 264 of file ss-net-device.cc.

Member Function Documentation

◆ AddServiceFlow() [1/2]

void ns3::SubscriberStationNetDevice::AddServiceFlow ( ServiceFlow sf)

adds a new service flow

Parameters
sfpointer to service flow to add

Definition at line 630 of file ss-net-device.cc.

References GetServiceFlowManager().

+ Here is the call graph for this function:

◆ AddServiceFlow() [2/2]

void ns3::SubscriberStationNetDevice::AddServiceFlow ( ServiceFlow  sf)

adds a new service flow

Parameters
sfservice flow to add

Definition at line 624 of file ss-net-device.cc.

References GetServiceFlowManager().

+ Here is the call graph for this function:

◆ DoDispose()

void ns3::SubscriberStationNetDevice::DoDispose ( void  )
privatevirtual

Destructor implementation.

This method is called by Dispose() or by the Object's destructor, whichever comes first.

Subclasses are expected to implement their real destruction code in an overridden version of this method and chain up to their parent's implementation once they are done. i.e, for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose() method.

It is safe to call GetObject() from within this method.

Reimplemented from ns3::WimaxNetDevice.

Definition at line 269 of file ss-net-device.cc.

References ns3::WimaxNetDevice::DoDispose(), m_asciiTxQueueDequeueCb, m_asciiTxQueueDropCb, m_asciiTxQueueEnqueueCb, m_basicConnection, m_classifier, m_dlBurstProfile, m_linkManager, m_primaryConnection, m_scheduler, m_serviceFlowManager, m_ulBurstProfile, and ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::Nullify().

+ Here is the call graph for this function:

◆ DoReceive()

void ns3::SubscriberStationNetDevice::DoReceive ( Ptr< Packet packet)
privatevirtual

Receive a packet.

Parameters
packetthe packet received

Implements ns3::WimaxNetDevice.

Definition at line 788 of file ss-net-device.cc.

References ns3::Packet::AddAtEnd(), ns3::Simulator::Cancel(), ns3::GenericMacHeader::check_hcs(), EVENT_DCD_WAIT_TIMEOUT, EVENT_LOST_DL_MAP, EVENT_LOST_UL_MAP, EVENT_RANG_OPP_WAIT_TIMEOUT, EVENT_UCD_WAIT_TIMEOUT, ns3::WimaxNetDevice::ForwardUp(), ns3::WimaxNetDevice::GetBroadcastConnection(), ns3::GenericMacHeader::GetCid(), ns3::WimaxNetDevice::GetConnectionManager(), ns3::FragmentationSubheader::GetFc(), ns3::GenericMacHeader::GetHt(), ns3::WimaxNetDevice::GetInitialRangingConnection(), ns3::WimaxNetDevice::GetMacAddress(), ns3::ServiceFlow::GetRecord(), GetServiceFlowManager(), ns3::Packet::GetSize(), ns3::WimaxNetDevice::GetState(), ns3::ManagementMessageType::GetType(), ns3::GenericMacHeader::GetType(), ns3::MacHeaderType::HEADER_TYPE_GENERIC, ns3::Cid::IsMulticast(), ns3::WimaxNetDevice::IsPromisc(), ns3::EventId::IsRunning(), list, m_baseStationId, m_basicConnection, m_dcdWaitTimeoutEvent, m_intervalT1, m_intervalT12, m_intervalT2, m_linkManager, m_lostDlMapEvent, m_lostDlMapInterval, m_lostUlMapEvent, m_lostUlMapInterval, m_primaryConnection, m_rangOppWaitTimeoutEvent, m_ssPromiscRxTrace, m_ssRxDropTrace, m_ssRxTrace, m_traceSSRx, m_ucdWaitTimeoutEvent, ns3::ManagementMessageType::MESSAGE_TYPE_DCD, ns3::ManagementMessageType::MESSAGE_TYPE_DL_MAP, ns3::ManagementMessageType::MESSAGE_TYPE_DSA_ACK, ns3::ManagementMessageType::MESSAGE_TYPE_DSA_REQ, ns3::ManagementMessageType::MESSAGE_TYPE_DSA_RSP, ns3::ManagementMessageType::MESSAGE_TYPE_REG_REQ, ns3::ManagementMessageType::MESSAGE_TYPE_REG_RSP, ns3::ManagementMessageType::MESSAGE_TYPE_RNG_REQ, ns3::ManagementMessageType::MESSAGE_TYPE_RNG_RSP, ns3::ManagementMessageType::MESSAGE_TYPE_UCD, ns3::ManagementMessageType::MESSAGE_TYPE_UL_MAP, ns3::WimaxNetDevice::NotifyPromiscTrace(), NS_ASSERT_MSG, NS_FATAL_ERROR, NS_LOG_ERROR, NS_LOG_INFO, pktSize, ProcessDcd(), ProcessDlMap(), ProcessUcd(), ProcessUlMap(), ns3::Packet::RemoveHeader(), ns3::Dcd::SetNrDlBurstProfiles(), ns3::Ucd::SetNrUlBurstProfiles(), ns3::WimaxNetDevice::SetState(), SS_STATE_ACQUIRING_PARAMETERS, SS_STATE_SYNCHRONIZING, SS_STATE_WAITING_REG_RANG_INTRVL, SS_STATE_WAITING_RNG_RSP, ns3::ServiceFlowRecord::UpdateBytesRcvd(), and ns3::ServiceFlowRecord::UpdatePktsRcvd().

+ Here is the call graph for this function:

◆ DoSend()

bool ns3::SubscriberStationNetDevice::DoSend ( Ptr< Packet packet,
const Mac48Address source,
const Mac48Address dest,
uint16_t  protocolNumber 
)
privatevirtual

Send a packet.

Parameters
packetthe packet to send
sourcethe source MAC address
destthe destination MAC address
protocolNumberthe protocol number
Returns
true if successful

Implements ns3::WimaxNetDevice.

Definition at line 636 of file ss-net-device.cc.

References Enqueue(), ns3::ServiceFlow::GetCid(), ns3::ServiceFlow::GetConnection(), ns3::ServiceFlow::GetIsEnabled(), ns3::WimaxNetDevice::GetMacAddress(), GetServiceFlowManager(), ns3::ServiceFlow::GetSfid(), ns3::Packet::GetSize(), IsRegistered(), m_basicConnection, m_classifier, m_ssTxDropTrace, m_ssTxTrace, NS_LOG_DEBUG, NS_LOG_INFO, ns3::ServiceFlow::SF_DIRECTION_UP, and ns3::ServiceFlow::SF_TYPE_ALL.

+ Here is the call graph for this function:

◆ Enqueue()

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

Enqueue a packet into a connection queue.

Parameters
packetthe packet to be enqueued
hdrTypethe mac header type to be appended to the packet
connectionthe connection to be used
Returns
true if successful

Implements ns3::WimaxNetDevice.

Definition at line 705 of file ss-net-device.cc.

References ns3::Packet::AddHeader(), ns3::GenericMacHeader::GetSerializedSize(), ns3::Packet::GetSize(), ns3::MacHeaderType::GetType(), ns3::MacHeaderType::HEADER_TYPE_BANDWIDTH, ns3::MacHeaderType::HEADER_TYPE_GENERIC, m_scheduler, NS_ASSERT_MSG, NS_LOG_INFO, ns3::GenericMacHeader::SetCid(), ns3::GenericMacHeader::SetLen(), ns3::GrantManagementSubheader::SetPm(), ns3::ServiceFlow::SF_TYPE_UGS, and ns3::Cid::TRANSPORT.

Referenced by DoSend().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetAreManagementConnectionsAllocated()

bool ns3::SubscriberStationNetDevice::GetAreManagementConnectionsAllocated ( void  ) const
Returns
true if the management connections are allocated, false otherwise

Definition at line 532 of file ss-net-device.cc.

References m_areManagementConnectionsAllocated.

Referenced by Ns3WimaxManagementConnectionsTestCase::DoRun().

+ Here is the caller graph for this function:

◆ GetAreServiceFlowsAllocated()

bool ns3::SubscriberStationNetDevice::GetAreServiceFlowsAllocated ( void  ) const
Returns
true if the service flows are allocated, false otherwise

Definition at line 544 of file ss-net-device.cc.

References m_areServiceFlowsAllocated.

◆ GetBasicCid()

Cid ns3::SubscriberStationNetDevice::GetBasicCid ( void  ) const
Returns
the basic CID

Definition at line 502 of file ss-net-device.cc.

References m_basicConnection.

◆ GetBasicConnection()

Ptr< WimaxConnection > ns3::SubscriberStationNetDevice::GetBasicConnection ( void  ) const
Returns
the basic connection currently in use

Definition at line 462 of file ss-net-device.cc.

References m_basicConnection.

◆ GetDefaultLostDlMapInterval()

Time ns3::SubscriberStationNetDevice::GetDefaultLostDlMapInterval ( )
staticprivate

Get default lost DL map interval.

Returns
the default lost DL map interval

Definition at line 51 of file ss-net-device.cc.

References ns3::MicroSeconds().

+ Here is the call graph for this function:

◆ GetIntervalT1()

Time ns3::SubscriberStationNetDevice::GetIntervalT1 ( void  ) const
Returns
the wait for DCD timeout

Definition at line 345 of file ss-net-device.cc.

References m_intervalT1.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetIntervalT12()

Time ns3::SubscriberStationNetDevice::GetIntervalT12 ( void  ) const
Returns
the wait for UCD descriptor timeout

Definition at line 393 of file ss-net-device.cc.

References m_intervalT12.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetIntervalT2()

Time ns3::SubscriberStationNetDevice::GetIntervalT2 ( void  ) const
Returns
the wait for broadcast ranging timeout, i.e., wait for initial ranging opportunity

Definition at line 357 of file ss-net-device.cc.

References m_intervalT2.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetIntervalT20()

Time ns3::SubscriberStationNetDevice::GetIntervalT20 ( void  ) const
Returns
the Time the SS searches for preambles on a given channel

Definition at line 405 of file ss-net-device.cc.

References m_intervalT20.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetIntervalT21()

Time ns3::SubscriberStationNetDevice::GetIntervalT21 ( void  ) const
Returns
the time the SS searches for (decodable) DL-MAP on a given channel

Definition at line 417 of file ss-net-device.cc.

References m_intervalT21.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetIntervalT3()

Time ns3::SubscriberStationNetDevice::GetIntervalT3 ( void  ) const
Returns
the ranging Response reception timeout following the transmission of a ranging request

Definition at line 369 of file ss-net-device.cc.

References m_intervalT3.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetIntervalT7()

Time ns3::SubscriberStationNetDevice::GetIntervalT7 ( void  ) const
Returns
the wait for DSA/DSC/DSD Response timeout

Definition at line 381 of file ss-net-device.cc.

References m_intervalT7.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetIpcsClassifier()

Ptr< IpcsClassifier > ns3::SubscriberStationNetDevice::GetIpcsClassifier ( ) const
Returns
a pointer to the CS packet classifier

Definition at line 568 of file ss-net-device.cc.

References m_classifier.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetLinkManager()

Ptr< SSLinkManager > ns3::SubscriberStationNetDevice::GetLinkManager ( void  ) const
Returns
a pointer to the link manager currently used

Definition at line 581 of file ss-net-device.cc.

References m_linkManager.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetLostDlMapInterval()

Time ns3::SubscriberStationNetDevice::GetLostDlMapInterval ( void  ) const
Returns
the time since last received DL-MAP message before downlink synchronization is considered lost

Definition at line 297 of file ss-net-device.cc.

References m_lostDlMapInterval.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetLostUlMapInterval()

Time ns3::SubscriberStationNetDevice::GetLostUlMapInterval ( void  ) const
Returns
the time since last received UL-MAP before uplink synchronization is considered lost

Definition at line 309 of file ss-net-device.cc.

References m_lostUlMapInterval.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetMaxContentionRangingRetries()

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

Definition at line 429 of file ss-net-device.cc.

References m_maxContentionRangingRetries.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetMaxDcdInterval()

Time ns3::SubscriberStationNetDevice::GetMaxDcdInterval ( void  ) const
Returns
the maximum time between transmission of DCD messages

Definition at line 321 of file ss-net-device.cc.

References m_maxDcdInterval.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetMaxUcdInterval()

Time ns3::SubscriberStationNetDevice::GetMaxUcdInterval ( void  ) const
Returns
the maximum time between transmission of UCD messages

Definition at line 333 of file ss-net-device.cc.

References m_maxUcdInterval.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetModulationType()

WimaxPhy::ModulationType ns3::SubscriberStationNetDevice::GetModulationType ( void  ) const
Returns
the most efficient modulation and coding scheme (MCS) supported by the device

Definition at line 520 of file ss-net-device.cc.

References m_modulationType.

Referenced by ns3::BurstProfileManager::GetBurstProfileToRequest().

+ Here is the caller graph for this function:

◆ GetPrimaryCid()

Cid ns3::SubscriberStationNetDevice::GetPrimaryCid ( void  ) const
Returns
the primary CID

Definition at line 508 of file ss-net-device.cc.

References m_primaryConnection.

◆ GetPrimaryConnection()

Ptr< WimaxConnection > ns3::SubscriberStationNetDevice::GetPrimaryConnection ( void  ) const
Returns
the primary connection currently used

Definition at line 496 of file ss-net-device.cc.

References m_primaryConnection.

◆ GetScheduler()

Ptr< SSScheduler > ns3::SubscriberStationNetDevice::GetScheduler ( void  ) const
Returns
the scheduler installed on the device

Definition at line 550 of file ss-net-device.cc.

References m_scheduler.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetServiceFlowManager()

Ptr< SsServiceFlowManager > ns3::SubscriberStationNetDevice::GetServiceFlowManager ( void  ) const
Returns
a pointer to the service flow manager installed on the device

Definition at line 593 of file ss-net-device.cc.

References m_serviceFlowManager.

Referenced by AddServiceFlow(), DoReceive(), DoSend(), and HasServiceFlows().

+ Here is the caller graph for this function:

◆ GetTimeToAllocation()

Time ns3::SubscriberStationNetDevice::GetTimeToAllocation ( Time  deferTime)

Get time to allocation.

Parameters
deferTimedefer time
Returns
the time to allocation

Definition at line 1314 of file ss-net-device.cc.

References ns3::WimaxNetDevice::GetPhy(), m_allocationStartTime, ns3::WimaxNetDevice::m_frameStartTime, ns3::Simulator::Now(), and ns3::Seconds().

Referenced by ProcessUlMap().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetTypeId()

◆ HasServiceFlows()

bool ns3::SubscriberStationNetDevice::HasServiceFlows ( void  ) const
Returns
true if the device has at least one active service flow, false otherwise

Definition at line 562 of file ss-net-device.cc.

References GetServiceFlowManager(), and ns3::ServiceFlow::SF_TYPE_ALL.

+ Here is the call graph for this function:

◆ InitSubscriberStationNetDevice()

◆ IsRegistered()

bool ns3::SubscriberStationNetDevice::IsRegistered ( void  ) const
Returns
true if the SS is registered to a BS, false otherwise

Definition at line 1308 of file ss-net-device.cc.

References ns3::WimaxNetDevice::GetState(), and SS_STATE_REGISTERED.

Referenced by Ns3WimaxNetworkEntryTestCase::DoRun(), Ns3WimaxSimpleOFDMTestCase::DoRunOnce(), DoSend(), and SendBurst().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessDcd()

◆ ProcessDlMap()

void ns3::SubscriberStationNetDevice::ProcessDlMap ( const DlMap dlmap)
private

Process DL map.

Parameters
dlmapthe DL map

Definition at line 1115 of file ss-net-device.cc.

References ns3::OfdmDlBurstProfile::DIUC_END_OF_MAP, ns3::DlMap::GetBaseStationId(), ns3::DlMap::GetDcdCount(), ns3::DlMap::GetDlMapElements(), m_baseStationId, m_basicConnection, m_dcdCount, and m_nrDlMapRecvd.

Referenced by DoReceive().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessUcd()

◆ ProcessUlMap()

◆ SendBurst()

void ns3::SubscriberStationNetDevice::SendBurst ( uint8_t  uiuc,
uint16_t  nrSymbols,
Ptr< WimaxConnection connection,
MacHeaderType::HeaderType  packetType = MacHeaderType::HEADER_TYPE_GENERIC 
)

◆ SetAreManagementConnectionsAllocated()

void ns3::SubscriberStationNetDevice::SetAreManagementConnectionsAllocated ( bool  areManagementConnectionsAllocated)
Parameters
areManagementConnectionsAllocatedtrue if the management connections are allocated, false otherwise

Definition at line 526 of file ss-net-device.cc.

References m_areManagementConnectionsAllocated.

◆ SetAreServiceFlowsAllocated()

void ns3::SubscriberStationNetDevice::SetAreServiceFlowsAllocated ( bool  areServiceFlowsAllocated)
Parameters
areServiceFlowsAllocatedtrue if the service flows are allocated, false otherwise

Definition at line 538 of file ss-net-device.cc.

References m_areServiceFlowsAllocated.

◆ SetAsciiTxQueueDequeueCallback()

void ns3::SubscriberStationNetDevice::SetAsciiTxQueueDequeueCallback ( AsciiTraceCallback  cb)

Set the Dequeue callback for ASCII tracing.

Parameters
cbcallback for ASCII tracing

Definition at line 1341 of file ss-net-device.cc.

References m_asciiTxQueueDequeueCb.

◆ SetAsciiTxQueueDropCallback()

void ns3::SubscriberStationNetDevice::SetAsciiTxQueueDropCallback ( AsciiTraceCallback  cb)

Set the Drop callback for ASCII tracing.

Parameters
cbcallback for ASCII tracing

Definition at line 1347 of file ss-net-device.cc.

References m_asciiTxQueueDropCb.

◆ SetAsciiTxQueueEnqueueCallback()

void ns3::SubscriberStationNetDevice::SetAsciiTxQueueEnqueueCallback ( AsciiTraceCallback  cb)

Set the Enqueue callback for ASCII tracing.

Parameters
cbcallback for ASCII tracing

Definition at line 1335 of file ss-net-device.cc.

References m_asciiTxQueueEnqueueCb.

◆ SetBasicConnection()

void ns3::SubscriberStationNetDevice::SetBasicConnection ( Ptr< WimaxConnection basicConnection)

◆ SetIntervalT1()

void ns3::SubscriberStationNetDevice::SetIntervalT1 ( Time  interval1)
Parameters
interval1Wait for DCD timeout value

Definition at line 339 of file ss-net-device.cc.

References m_intervalT1.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetIntervalT12()

void ns3::SubscriberStationNetDevice::SetIntervalT12 ( Time  interval12)
Parameters
interval12the Wait for UCD descriptor timeout

Definition at line 387 of file ss-net-device.cc.

References m_intervalT12.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetIntervalT2()

void ns3::SubscriberStationNetDevice::SetIntervalT2 ( Time  interval2)
Parameters
interval2the wait for broadcast ranging timeout, i.e., wait for initial ranging opportunity

Definition at line 351 of file ss-net-device.cc.

References m_intervalT2.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetIntervalT20()

void ns3::SubscriberStationNetDevice::SetIntervalT20 ( Time  interval20)
Parameters
interval20the Time the SS searches for preambles on a given channel

Definition at line 399 of file ss-net-device.cc.

References m_intervalT20.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetIntervalT21()

void ns3::SubscriberStationNetDevice::SetIntervalT21 ( Time  interval21)
Parameters
interval21the time the SS searches for (decodable) DL-MAP on a given channel

Definition at line 411 of file ss-net-device.cc.

References m_intervalT21.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetIntervalT3()

void ns3::SubscriberStationNetDevice::SetIntervalT3 ( Time  interval3)
Parameters
interval3the ranging Response reception timeout following the transmission of a ranging request

Definition at line 363 of file ss-net-device.cc.

References m_intervalT3.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetIntervalT7()

void ns3::SubscriberStationNetDevice::SetIntervalT7 ( Time  interval7)
Parameters
interval7the wait for DSA/DSC/DSD Response timeout

Definition at line 375 of file ss-net-device.cc.

References m_intervalT7.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetIpcsPacketClassifier()

void ns3::SubscriberStationNetDevice::SetIpcsPacketClassifier ( Ptr< IpcsClassifier classifier)

Sets the packet classifier to be used.

Parameters
classifierthe classifier to use

Definition at line 575 of file ss-net-device.cc.

References m_classifier.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetLinkManager()

void ns3::SubscriberStationNetDevice::SetLinkManager ( Ptr< SSLinkManager linkManager)

sets the link manager to be used

Parameters
linkManagerlink manager to use

Definition at line 587 of file ss-net-device.cc.

References m_linkManager.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetLostDlMapInterval()

void ns3::SubscriberStationNetDevice::SetLostDlMapInterval ( Time  lostDlMapInterval)
Parameters
lostDlMapIntervaltime since last received DL-MAP message before downlink synchronization is considered lost

Definition at line 291 of file ss-net-device.cc.

References m_lostDlMapInterval.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetLostUlMapInterval()

void ns3::SubscriberStationNetDevice::SetLostUlMapInterval ( Time  lostUlMapInterval)
Parameters
lostUlMapIntervalTime since last received UL-MAP before uplink synchronization is considered lost

Definition at line 303 of file ss-net-device.cc.

References m_lostUlMapInterval.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetMaxContentionRangingRetries()

void ns3::SubscriberStationNetDevice::SetMaxContentionRangingRetries ( uint8_t  maxContentionRangingRetries)
Parameters
maxContentionRangingRetriesthe Number of retries on contention Ranging Requests

Definition at line 423 of file ss-net-device.cc.

References m_maxContentionRangingRetries.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetMaxDcdInterval()

void ns3::SubscriberStationNetDevice::SetMaxDcdInterval ( Time  maxDcdInterval)
Parameters
maxDcdIntervalMaximum time between transmission of DCD messages

Definition at line 315 of file ss-net-device.cc.

References m_maxDcdInterval.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetMaxUcdInterval()

void ns3::SubscriberStationNetDevice::SetMaxUcdInterval ( Time  maxUcdInterval)
Parameters
maxUcdIntervalMaximum time between transmission of UCD messages

Definition at line 327 of file ss-net-device.cc.

References m_maxUcdInterval.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetModulationType()

void ns3::SubscriberStationNetDevice::SetModulationType ( WimaxPhy::ModulationType  modulationType)

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

Parameters
modulationTypethe most robust MCS supported

Definition at line 514 of file ss-net-device.cc.

References m_modulationType.

◆ SetPrimaryConnection()

void ns3::SubscriberStationNetDevice::SetPrimaryConnection ( Ptr< WimaxConnection primaryConnection)

◆ SetScheduler()

void ns3::SubscriberStationNetDevice::SetScheduler ( Ptr< SSScheduler ssScheduler)
Parameters
ssSchedulerthe scheduler to be installed on the device

Definition at line 556 of file ss-net-device.cc.

References m_scheduler.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetServiceFlowManager()

void ns3::SubscriberStationNetDevice::SetServiceFlowManager ( Ptr< SsServiceFlowManager sfm)

Sets the service flow manager to be installed on the device.

Parameters
sfmservice flow manager to be used

Definition at line 599 of file ss-net-device.cc.

References m_serviceFlowManager.

◆ SetTimer()

void ns3::SubscriberStationNetDevice::SetTimer ( EventId  eventId,
EventId event 
)

Set timer.

If in stopped state, the EventId passed in the first argument will be cancelled. If not, the second parameter will be set to the value of the first parameter.

Parameters
eventIdEventId to cancel or to map to the second argument
eventEventId is set to first argument if not in stopped state

Definition at line 1323 of file ss-net-device.cc.

References ns3::Simulator::Cancel(), ns3::WimaxNetDevice::GetState(), and SS_STATE_STOPPED.

+ Here is the call graph for this function:

◆ Start()

void ns3::SubscriberStationNetDevice::Start ( void  )
virtual

◆ Stop()

void ns3::SubscriberStationNetDevice::Stop ( void  )
virtual

Stop the device.

Implements ns3::WimaxNetDevice.

Definition at line 618 of file ss-net-device.cc.

References ns3::WimaxNetDevice::SetState(), and SS_STATE_STOPPED.

+ Here is the call graph for this function:

Member Data Documentation

◆ m_allocationStartTime

double ns3::SubscriberStationNetDevice::m_allocationStartTime
private

allocation start time

Definition at line 430 of file ss-net-device.h.

Referenced by GetTimeToAllocation(), InitSubscriberStationNetDevice(), and ProcessUlMap().

◆ m_areManagementConnectionsAllocated

bool ns3::SubscriberStationNetDevice::m_areManagementConnectionsAllocated
private

are management connections allocated

Definition at line 457 of file ss-net-device.h.

Referenced by GetAreManagementConnectionsAllocated(), InitSubscriberStationNetDevice(), ProcessUlMap(), and SetAreManagementConnectionsAllocated().

◆ m_areServiceFlowsAllocated

bool ns3::SubscriberStationNetDevice::m_areServiceFlowsAllocated
private

are service flows allocated

Definition at line 458 of file ss-net-device.h.

Referenced by GetAreServiceFlowsAllocated(), InitSubscriberStationNetDevice(), and SetAreServiceFlowsAllocated().

◆ m_asciiTxQueueDequeueCb

AsciiTraceCallback ns3::SubscriberStationNetDevice::m_asciiTxQueueDequeueCb
private

Bound callback to perform ASCII logging for Dequeue events.

Definition at line 511 of file ss-net-device.h.

Referenced by DoDispose(), SetAsciiTxQueueDequeueCallback(), SetBasicConnection(), and SetPrimaryConnection().

◆ m_asciiTxQueueDropCb

AsciiTraceCallback ns3::SubscriberStationNetDevice::m_asciiTxQueueDropCb
private

Bound callback to perform ASCII logging for Drop events.

Definition at line 513 of file ss-net-device.h.

Referenced by DoDispose(), SetAsciiTxQueueDropCallback(), SetBasicConnection(), and SetPrimaryConnection().

◆ m_asciiTxQueueEnqueueCb

AsciiTraceCallback ns3::SubscriberStationNetDevice::m_asciiTxQueueEnqueueCb
private

Bound callback to perform ASCII logging for Enqueue events.

Definition at line 509 of file ss-net-device.h.

Referenced by DoDispose(), SetAsciiTxQueueEnqueueCallback(), SetBasicConnection(), and SetPrimaryConnection().

◆ m_baseStationId

Mac48Address ns3::SubscriberStationNetDevice::m_baseStationId
private

base station ID

Definition at line 426 of file ss-net-device.h.

Referenced by DoReceive(), InitSubscriberStationNetDevice(), and ProcessDlMap().

◆ m_basicConnection

Ptr<WimaxConnection> ns3::SubscriberStationNetDevice::m_basicConnection
private

◆ m_classifier

Ptr<IpcsClassifier> ns3::SubscriberStationNetDevice::m_classifier
private

◆ m_dcdCount

uint8_t ns3::SubscriberStationNetDevice::m_dcdCount
private

DCD count.

Definition at line 425 of file ss-net-device.h.

Referenced by InitSubscriberStationNetDevice(), and ProcessDlMap().

◆ m_dcdWaitTimeoutEvent

EventId ns3::SubscriberStationNetDevice::m_dcdWaitTimeoutEvent
private

DCD wait timeout event.

Definition at line 441 of file ss-net-device.h.

Referenced by DoReceive().

◆ m_dlBurstProfile

OfdmDlBurstProfile* ns3::SubscriberStationNetDevice::m_dlBurstProfile
private

DL burst profile.

Definition at line 450 of file ss-net-device.h.

Referenced by DoDispose(), InitSubscriberStationNetDevice(), and ProcessDcd().

◆ m_intervalT1

Time ns3::SubscriberStationNetDevice::m_intervalT1
private

in seconds, wait for DCD timeout

Definition at line 415 of file ss-net-device.h.

Referenced by DoReceive(), GetIntervalT1(), InitSubscriberStationNetDevice(), and SetIntervalT1().

◆ m_intervalT12

Time ns3::SubscriberStationNetDevice::m_intervalT12
private

in seconds, wait for UCD descriptor

Definition at line 419 of file ss-net-device.h.

Referenced by DoReceive(), GetIntervalT12(), InitSubscriberStationNetDevice(), and SetIntervalT12().

◆ m_intervalT2

Time ns3::SubscriberStationNetDevice::m_intervalT2
private

in seconds, wait for broadcast ranging timeout, i.e., wait for initial ranging opportunity

Definition at line 416 of file ss-net-device.h.

Referenced by DoReceive(), GetIntervalT2(), InitSubscriberStationNetDevice(), and SetIntervalT2().

◆ m_intervalT20

Time ns3::SubscriberStationNetDevice::m_intervalT20
private

in seconds, time the SS searches for preambles on a given channel

Definition at line 420 of file ss-net-device.h.

Referenced by GetIntervalT20(), SetIntervalT20(), and Start().

◆ m_intervalT21

Time ns3::SubscriberStationNetDevice::m_intervalT21
private

in seconds, time the SS searches for (decodable) DL-MAP on a given channel

Definition at line 421 of file ss-net-device.h.

Referenced by GetIntervalT21(), InitSubscriberStationNetDevice(), and SetIntervalT21().

◆ m_intervalT3

Time ns3::SubscriberStationNetDevice::m_intervalT3
private

in milliseconds, ranging Response reception timeout following the transmission of a ranging request

Definition at line 417 of file ss-net-device.h.

Referenced by GetIntervalT3(), InitSubscriberStationNetDevice(), and SetIntervalT3().

◆ m_intervalT7

Time ns3::SubscriberStationNetDevice::m_intervalT7
private

in seconds, wait for DSA/DSC/DSD Response timeout

Definition at line 418 of file ss-net-device.h.

Referenced by GetIntervalT7(), InitSubscriberStationNetDevice(), and SetIntervalT7().

◆ m_linkManager

Ptr<SSLinkManager> ns3::SubscriberStationNetDevice::m_linkManager

◆ m_lostDlMapEvent

EventId ns3::SubscriberStationNetDevice::m_lostDlMapEvent
private

lost DL map event

Definition at line 439 of file ss-net-device.h.

Referenced by DoReceive().

◆ m_lostDlMapInterval

Time ns3::SubscriberStationNetDevice::m_lostDlMapInterval
private

in milliseconds, time since last received DL-MAP before downlink synchronization is considered lost, maximum is 600

Definition at line 411 of file ss-net-device.h.

Referenced by DoReceive(), GetLostDlMapInterval(), InitSubscriberStationNetDevice(), and SetLostDlMapInterval().

◆ m_lostUlMapEvent

EventId ns3::SubscriberStationNetDevice::m_lostUlMapEvent
private

lost UL map event

Definition at line 440 of file ss-net-device.h.

Referenced by DoReceive().

◆ m_lostUlMapInterval

Time ns3::SubscriberStationNetDevice::m_lostUlMapInterval
private

in milliseconds, time since last received UL-MAP before uplink synchronization is considered lost, maximum is 600

Definition at line 412 of file ss-net-device.h.

Referenced by DoReceive(), GetLostUlMapInterval(), InitSubscriberStationNetDevice(), and SetLostUlMapInterval().

◆ m_maxContentionRangingRetries

uint8_t ns3::SubscriberStationNetDevice::m_maxContentionRangingRetries
private

maximum contention ranging retries

Definition at line 422 of file ss-net-device.h.

Referenced by GetMaxContentionRangingRetries(), InitSubscriberStationNetDevice(), and SetMaxContentionRangingRetries().

◆ m_maxDcdInterval

Time ns3::SubscriberStationNetDevice::m_maxDcdInterval
private

in seconds, maximum time between transmission of DCD messages

Definition at line 413 of file ss-net-device.h.

Referenced by GetMaxDcdInterval(), InitSubscriberStationNetDevice(), and SetMaxDcdInterval().

◆ m_maxUcdInterval

Time ns3::SubscriberStationNetDevice::m_maxUcdInterval
private

in seconds, maximum time between transmission of UCD messages

Definition at line 414 of file ss-net-device.h.

Referenced by GetMaxUcdInterval(), InitSubscriberStationNetDevice(), and SetMaxUcdInterval().

◆ m_modulationType

WimaxPhy::ModulationType ns3::SubscriberStationNetDevice::m_modulationType
private

modulation type

Definition at line 455 of file ss-net-device.h.

Referenced by GetModulationType(), InitSubscriberStationNetDevice(), ProcessDcd(), ProcessUcd(), and SetModulationType().

◆ m_nrDcdRecvd

uint32_t ns3::SubscriberStationNetDevice::m_nrDcdRecvd
private

number DCD received

Definition at line 447 of file ss-net-device.h.

Referenced by InitSubscriberStationNetDevice(), and ProcessDcd().

◆ m_nrDlMapElements

uint16_t ns3::SubscriberStationNetDevice::m_nrDlMapElements
private

number DL Map elements

Definition at line 433 of file ss-net-device.h.

Referenced by InitSubscriberStationNetDevice().

◆ m_nrDlMapRecvd

uint32_t ns3::SubscriberStationNetDevice::m_nrDlMapRecvd
private

number DL map received

Definition at line 445 of file ss-net-device.h.

Referenced by InitSubscriberStationNetDevice(), and ProcessDlMap().

◆ m_nrUcdRecvd

uint32_t ns3::SubscriberStationNetDevice::m_nrUcdRecvd
private

number UCD received

Definition at line 448 of file ss-net-device.h.

Referenced by InitSubscriberStationNetDevice(), and ProcessUcd().

◆ m_nrUlMapElements

uint16_t ns3::SubscriberStationNetDevice::m_nrUlMapElements
private

number UL Map elements

Definition at line 434 of file ss-net-device.h.

Referenced by InitSubscriberStationNetDevice().

◆ m_nrUlMapRecvd

uint32_t ns3::SubscriberStationNetDevice::m_nrUlMapRecvd
private

number UL map received

Definition at line 446 of file ss-net-device.h.

Referenced by InitSubscriberStationNetDevice(), and ProcessUlMap().

◆ m_primaryConnection

Ptr<WimaxConnection> ns3::SubscriberStationNetDevice::m_primaryConnection
private

◆ m_rangOppWaitTimeoutEvent

EventId ns3::SubscriberStationNetDevice::m_rangOppWaitTimeoutEvent
private

range opp wait timeout event

Definition at line 443 of file ss-net-device.h.

Referenced by DoReceive().

◆ m_scheduler

Ptr<SSScheduler> ns3::SubscriberStationNetDevice::m_scheduler
private

the scheduler

Definition at line 460 of file ss-net-device.h.

Referenced by DoDispose(), Enqueue(), GetScheduler(), InitSubscriberStationNetDevice(), SendBurst(), and SetScheduler().

◆ m_serviceFlowManager

Ptr<SsServiceFlowManager> ns3::SubscriberStationNetDevice::m_serviceFlowManager
private

the service flow manager

Definition at line 461 of file ss-net-device.h.

Referenced by DoDispose(), GetServiceFlowManager(), InitSubscriberStationNetDevice(), and SetServiceFlowManager().

◆ m_ssPromiscRxTrace

TracedCallback<Ptr<const Packet> > ns3::SubscriberStationNetDevice::m_ssPromiscRxTrace
private

The trace source fired for packets successfully received by the device immediately before being forwarded up to higher layers (at the L2/L3 transition).

This is a promiscuous trace.

See also
class CallBackTraceSource

Definition at line 489 of file ss-net-device.h.

Referenced by DoReceive(), and GetTypeId().

◆ m_ssRxDropTrace

TracedCallback<Ptr<const Packet> > ns3::SubscriberStationNetDevice::m_ssRxDropTrace
private

The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer during reception.

See also
class CallBackTraceSource

Definition at line 506 of file ss-net-device.h.

Referenced by DoReceive(), and GetTypeId().

◆ m_ssRxTrace

TracedCallback<Ptr<const Packet> > ns3::SubscriberStationNetDevice::m_ssRxTrace
private

The trace source fired for packets successfully received by the device immediately before being forwarded up to higher layers (at the L2/L3 transition).

This is a non- promiscuous trace.

See also
class CallBackTraceSource

Definition at line 498 of file ss-net-device.h.

Referenced by DoReceive(), and GetTypeId().

◆ m_ssTxDropTrace

TracedCallback<Ptr<const Packet> > ns3::SubscriberStationNetDevice::m_ssTxDropTrace
private

The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer during transmission.

See also
class CallBackTraceSource

Definition at line 480 of file ss-net-device.h.

Referenced by DoSend(), and GetTypeId().

◆ m_ssTxTrace

TracedCallback<Ptr<const Packet> > ns3::SubscriberStationNetDevice::m_ssTxTrace
private

The trace source fired when packets come into the "top" of the device at the L3/L2 transition, before being queued for transmission.

See also
class CallBackTraceSource

Definition at line 472 of file ss-net-device.h.

Referenced by DoSend().

◆ m_traceSSRx

TracedCallback<Ptr<const Packet>, Mac48Address, const Cid &> ns3::SubscriberStationNetDevice::m_traceSSRx
private

trace SS receive callback

Definition at line 464 of file ss-net-device.h.

Referenced by DoReceive().

◆ m_ucdCount

uint8_t ns3::SubscriberStationNetDevice::m_ucdCount
private

UCD count.

Definition at line 429 of file ss-net-device.h.

Referenced by InitSubscriberStationNetDevice(), and ProcessUlMap().

◆ m_ucdWaitTimeoutEvent

EventId ns3::SubscriberStationNetDevice::m_ucdWaitTimeoutEvent
private

UCD wait timeout event.

Definition at line 442 of file ss-net-device.h.

Referenced by DoReceive().

◆ m_ulBurstProfile

OfdmUlBurstProfile* ns3::SubscriberStationNetDevice::m_ulBurstProfile
private

UL burst profile.

Definition at line 451 of file ss-net-device.h.

Referenced by DoDispose(), InitSubscriberStationNetDevice(), and ProcessUcd().


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