23 #include "ns3/simulator.h" 
   27 #include "ns3/packet-burst.h" 
   33 #include "ns3/trace-source-accessor.h" 
   34 #include "ns3/pointer.h" 
   60     TypeId (
"ns3::SubscriberStationNetDevice")
 
   63     .SetGroupName (
"Wimax")
 
   67     .AddAttribute (
"BasicConnection",
 
   71                    MakePointerChecker<WimaxConnection> ())
 
   73     .AddAttribute (
"PrimaryConnection",
 
   77                    MakePointerChecker<WimaxConnection> ())
 
   79     .AddAttribute (
"LostDlMapInterval",
 
   80                    "Time since last received DL-MAP message before downlink synchronization is considered lost. Maximum is 600ms",
 
   86     .AddAttribute (
"LostUlMapInterval",
 
   87                    "Time since last received UL-MAP before uplink synchronization is considered lost, maximum is 600.",
 
   93     .AddAttribute (
"MaxDcdInterval",
 
   94                    "Maximum time between transmission of DCD messages. Maximum is 10s",
 
  100     .AddAttribute (
"MaxUcdInterval",
 
  101                    "Maximum time between transmission of UCD messages. Maximum is 10s",
 
  107     .AddAttribute (
"IntervalT1",
 
  108                    "Wait for DCD timeout. Maximum is 5*maxDcdInterval",
 
  114     .AddAttribute (
"IntervalT2",
 
  115                    "Wait for broadcast ranging timeout, i.e., wait for initial ranging opportunity. Maximum is 5*Ranging interval",
 
  121     .AddAttribute (
"IntervalT3",
 
  122                    "ranging Response reception timeout following the transmission of a ranging request. Maximum is 200ms",
 
  128     .AddAttribute (
"IntervalT7",
 
  129                    "wait for DSA/DSC/DSD Response timeout. Maximum is 1s",
 
  135     .AddAttribute (
"IntervalT12",
 
  136                    "Wait for UCD descriptor.Maximum is 5*MaxUcdInterval",
 
  142     .AddAttribute (
"IntervalT20",
 
  143                    "Time the SS searches for preambles on a given channel. Minimum is 2 MAC frames",
 
  149     .AddAttribute (
"IntervalT21",
 
  150                    "time the SS searches for (decodable) DL-MAP on a given channel",
 
  156     .AddAttribute (
"MaxContentionRangingRetries",
 
  157                    "Number of retries on contention Ranging Requests",
 
  161                    MakeUintegerChecker<uint8_t> (1, 16))
 
  163     .AddAttribute (
"SSScheduler",
 
  164                    "The ss scheduler attached to this device.",
 
  168                    MakePointerChecker<SSScheduler> ())
 
  170     .AddAttribute (
"LinkManager",
 
  171                    "The ss link manager attached to this device.",
 
  175                    MakePointerChecker<SSLinkManager> ())
 
  177     .AddAttribute (
"Classifier",
 
  178                    "The ss classifier attached to this device.",
 
  182                    MakePointerChecker<IpcsClassifier> ())
 
  184     .AddTraceSource (
"SSTxDrop",
 
  185                      "A packet has been dropped in the MAC layer before being queued for transmission.",
 
  187                      "ns3::Packet::TracedCallback")
 
  189     .AddTraceSource (
"SSPromiscRx",
 
  190                      "A packet has been received by this device, has been passed up from the physical layer " 
  191                      "and is being forwarded up the local protocol stack.  This is a promiscuous trace,",
 
  193                      "ns3::Packet::TracedCallback")
 
  195     .AddTraceSource (
"SSRx",
 
  196                      "A packet has been received by this device, has been passed up from the physical layer " 
  197                      "and is being forwarded up the local protocol stack.  This is a non-promiscuous trace,",
 
  199                      "ns3::Packet::TracedCallback")
 
  201     .AddTraceSource (
"SSRxDrop",
 
  202                      "A packet has been dropped in the MAC layer after it has been passed up from the physical " 
  205                      "ns3::Packet::TracedCallback")
 
  561   GetPhy ()->SetPhyParameters ();
 
  562   GetPhy ()->SetDataRates ();
 
  591                                     uint16_t protocolNumber)
 
  608       NS_LOG_INFO (
"\tCan't send packet! (NotRegitered with the network)");
 
  612   NS_LOG_DEBUG (
"packet to send, size : " << packet->
GetSize () << 
", destination : " << dest);
 
  616       NS_LOG_INFO (
"\tCan't send packet! (No service Flow)");
 
  620   if (protocolNumber == 2048)
 
  625   if ((protocolNumber != 2048) || (serviceFlow == NULL))
 
  628       NS_LOG_INFO (
"\tNo service flows matches...using the default one.");
 
  631   NS_LOG_INFO (
"\tPacket classified in the service flow SFID =  " << serviceFlow->
GetSfid () << 
" CID = " 
  632                                                                   << serviceFlow->
GetCid ());
 
  648       NS_LOG_INFO (
"Error!! The Service Flow is not enabled" );
 
  661   NS_ASSERT_MSG (connection != 0, 
"SS: Can not enqueue the packet: the selected connection is nor initialized");
 
  668       hdr.
SetCid (connection->GetCid ());
 
  678                          "Error while equeuing  packet: incorrect header type");
 
  681           grantMgmntSubhdr.
SetPm (
true);
 
  685   NS_LOG_INFO (
"ServiceFlowManager: enqueuing packet" );
 
  686   return connection->Enqueue (packet, hdrType, hdr);
 
  707   if (burst->GetNPackets () == 0)
 
  727       NS_LOG_DEBUG (
" sending burst" << 
", SFID: " << connection->GetServiceFlow ()->GetSfid () << 
", pkts sent: " 
  746   uint32_t pktSize = packet->
GetSize ();
 
  749   bool fragmentation = 
false;  
 
  761       cid = gnrcMacHdr.
GetCid ();
 
  764       uint8_t type = gnrcMacHdr.
GetType ();
 
  768           uint8_t tmpType = type;
 
  769           if (((tmpType >> 2) & 1) == 1)
 
  772               fragmentation = 
true;
 
  773               NS_LOG_INFO (
"SS DoReceive -> the packet is a fragment" <<  std::endl);
 
  926                              "SS: Error while receiving a ranging response message: SS state should be at least SS_STATE_WAITING_REG_RANG_INTRVL");
 
  945                              "SS: Error while receiving a ranging response message: SS state should be SS_STATE_WAITING_RNG_RSP");
 
 1001               NS_LOG_INFO ( 
"FRAG_DEBUG: SS DoReceive, the Packet is a fragment" << std::endl);
 
 1003               uint32_t fc = fragSubhdr.
GetFc ();
 
 1010                   NS_LOG_INFO ( 
"\t Received the latest fragment" << std::endl);
 
 1012                   ->FragmentEnqueue (packet);
 
 1015                     GetConnection (cid)->GetFragmentsQueue ();
 
 1020                   NS_LOG_INFO ( 
"\t SS PACKET DEFRAGMENTATION" << std::endl);
 
 1022                        iter != fragmentsQueue.end (); ++iter)
 
 1028                   ->ClearFragmentsQueue ();
 
 1038                   NS_LOG_INFO ( 
"\t Received the first or the middle fragment" << std::endl);
 
 1074   for (std::list<OfdmDlMapIe>::iterator iter = dlMapElements.begin (); iter != dlMapElements.end (); ++iter)
 
 1090       uint8_t temp = iter->GetDiuc ();
 
 1091       temp = iter->GetPreamblePresent ();
 
 1092       temp = iter->GetStartTime ();
 
 1106   for (std::list<OfdmUlMapIe>::iterator iter = ulMapElements.begin (); iter != ulMapElements.end (); ++iter)
 
 1126                                                                 * 
GetPhy ()->GetSymbolDuration ().GetSeconds ()));
 
 1134                              "SS: Error while processing UL MAP: SS state should be SS_STATE_WAITING_INV_RANG_INTRVL");
 
 1208   for (std::vector<OfdmDlBurstProfile>::iterator iter = dlBurstProfiles.begin (); iter != dlBurstProfiles.end (); ++iter)
 
 1243   for (std::vector<OfdmUlBurstProfile>::iterator iter = ulBurstProfiles.begin (); iter != ulBurstProfiles.end (); ++iter)
 
 1270     - timeAlreadyElapsed;
 
 1271   return timeToUlSubframe + deferTime;
 
void SendBandwidthRequest(uint8_t uiuc, uint16_t allocationSize)
Send bandwidth request. 
 
uint8_t GetFecCodeType(void) const 
 
This class implements the OFDM UCD channel encodings as described by "IEEE Standard for Local and met...
 
uint32_t RemoveHeader(Header &header)
Deserialize and remove the header from the internal buffer. 
 
OfdmDcdChannelEncodings GetChannelEncodings(void) const 
Get channel encodings field. 
 
void SetIntervalT3(Time interval3)
 
This class implements the DSA-RSP message described by "IEEE Standard for   Local and metropolitan ar...
 
void SetTimer(EventId eventId, EventId &event)
Set timer. 
 
Cid GetBasicCid(void) const 
 
Simulation virtual time values and global simulation resolution. 
 
bool GetIsEnabled(void) const 
Get is enabled flag. 
 
void SetIntervalT1(Time interval1)
 
Time GetIntervalT2(void) const 
 
static Time GetDefaultLostDlMapInterval()
Get default lost DL map interval. 
 
This class implements DL-MAP as described by "IEEE Standard for Local and metropolitan area networks ...
 
Time m_intervalT21
in seconds, time the SS searches for (decodable) DL-MAP on a given channel 
 
void SetLostDlMapInterval(Time lostDlMapInterval)
 
void ProcessUcd(const Ucd &ucd)
Process UCD. 
 
Time GetMaxUcdInterval(void) const 
 
void ProcessDcd(const Dcd &dcd)
Process DCD. 
 
void SetIntervalT21(Time interval21)
 
Ptr< WimaxConnection > m_basicConnection
basci connection 
 
This class implements the ranging response message described by "IEEE Standard for Local and metropol...
 
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system. 
 
Ptr< WimaxConnection > m_primaryConnection
primary connection 
 
uint8_t GetFrameDurationCode(void) const 
Get frame duration code field. 
 
std::list< OfdmDlMapIe > GetDlMapElements(void) const 
Get DL Map elements field. 
 
Mac Management messages Section 6.3.2.3 MAC Management messages page 42, Table 14 page 43...
 
uint8_t GetConfigurationChangeCount(void) const 
Get configuration change count. 
 
bool HasServiceFlows(void) const 
 
this class implements a structure to manage some parameters and statistics related to a service flow ...
 
void SetIntervalT2(Time interval2)
 
void SetModulationType(WimaxPhy::ModulationType modulationType)
Set the most efficient modulation and coding scheme (MCS) supported by the device. 
 
bool GetAreManagementConnectionsAllocated(void) const 
 
uint32_t GetBytesRcvd(void) const 
 
void ProcessDlMap(const DlMap &dlmap)
Process DL map. 
 
EventId m_lostUlMapEvent
lost UL map event 
 
bool IsMulticast(void) const 
 
void ForwardUp(Ptr< Packet > packet, const Mac48Address &source, const Mac48Address &dest)
Forward a packet to the next layer above the device. 
 
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name. 
 
void SetMaxDcdInterval(Time maxDcdInterval)
 
Time MilliSeconds(uint64_t value)
Construct a Time in the indicated unit. 
 
Dcd GetCurrentDcd(void) const 
Get the current DCD. 
 
void SetAreManagementConnectionsAllocated(bool areManagementConnectionsAllocated)
 
uint32_t m_nrUcdRecvd
number UCD received 
 
Ptr< WimaxConnection > GetBroadcastConnection(void) const 
Get the broadcast connection. 
 
uint32_t GetSize(void) const 
Returns the the size in bytes of the packet (including the zero-filled initial payload). 
 
Time GetIntervalT7(void) const 
 
void SetLostUlMapInterval(Time lostUlMapInterval)
 
uint32_t GetSfid(void) const 
Get SFID. 
 
Cid GetCid(void) const 
Get CID. 
 
uint8_t GetConfigurationChangeCount(void) const 
Get configuration change count field. 
 
void StartScanning(SubscriberStationNetDevice::EventType type, bool deleteParameters)
Start scanning. 
 
#define NS_LOG_INFO(msg)
Use NS_LOG to output a message of level LOG_INFO. 
 
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate. 
 
Time GetLostUlMapInterval(void) const 
 
This class implements the UL burst profile as described by "IEEE Standard for Local and metropolitan ...
 
static void Cancel(const EventId &id)
Set the cancel bit on this event: the event's associated function will not be invoked when it expires...
 
void SetScheduler(Ptr< SSScheduler > ssScheduler)
 
bool IsRunning(void) const 
This method is syntactic sugar for !IsExpired(). 
 
Time m_lostDlMapInterval
in milliseconds, time since last received DL-MAP before downlink synchronization is considered lost...
 
void SetMaxUcdInterval(Time maxUcdInterval)
 
Ptr< ConnectionManager > GetConnectionManager(void) const 
Get the connection manager of the device. 
 
Time GetIntervalT12(void) const 
 
void Start(void)
Start the device. 
 
Ptr< IpcsClassifier > GetIpcsClassifier() const 
 
uint8_t GetType(void) const 
Get type field. 
 
Mac48Address m_baseStationId
base station ID 
 
TracedCallback< Ptr< const Packet > > m_ssPromiscRxTrace
The trace source fired for packets successfully received by the device immediately before being forwa...
 
uint8_t GetDcdCount(void) const 
Get DCD count field. 
 
Ptr< SSScheduler > m_scheduler
the scheduler 
 
void ProcessUlMap(const UlMap &ulmap)
Process UL map. 
 
bool m_areServiceFlowsAllocated
are service flows allocated 
 
~SubscriberStationNetDevice(void)
 
Ptr< WimaxConnection > GetConnection(void) const 
Can return a null connection is this service flow has not been associated yet to a connection...
 
uint16_t GetRangReqOppSize(void) const 
Get range request opp size. 
 
void SetDiuc(uint8_t diuc)
Set DIUC field. 
 
bool IsRegistered(void) const 
 
Cid GetPrimaryCid(void) const 
 
Ptr< const TraceSourceAccessor > MakeTraceSourceAccessor(T a)
Create a TraceSourceAccessor which will control access to the underlying trace source. 
 
Time m_intervalT3
in milliseconds, ranging Response reception timeout following the transmission of a ranging request ...
 
Ptr< const AttributeChecker > MakeTimeChecker(const Time min, const Time max)
Helper to make a Time checker with bounded range. 
 
Ptr< SSScheduler > GetScheduler(void) const 
 
void SetNrUlBurstProfiles(uint8_t nrUlBurstProfiles)
Set NR UL burst profiles. 
 
void DoReceive(Ptr< Packet > packet)
Receive a packet. 
 
TracedCallback< Ptr< const Packet > > m_ssRxTrace
The trace source fired for packets successfully received by the device immediately before being forwa...
 
double GetSeconds(void) const 
Get an approximation of the time stored in this instance in the indicated unit. 
 
void AddAtEnd(Ptr< const Packet > packet)
Concatenate the input packet at the end of the current packet. 
 
void SetNrDlBurstProfiles(uint8_t nrDlBurstProfiles)
Set number DL burst profile field. 
 
void SendRangingRequest(uint8_t uiuc, uint16_t allocationSize)
Send ranging request. 
 
NS_ASSERT_MSG(false,"Ipv4AddressGenerator::MaskToIndex(): Impossible")
 
Time m_intervalT20
in seconds, time the SS searches for preambles on a given channel 
 
uint32_t m_nrDlMapRecvd
number DL map received 
 
SubscriberStationNetDevice(void)
 
Ptr< const AttributeAccessor > MakePointerAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
 
static EventId Schedule(Time const &delay, MEM mem_ptr, OBJ obj)
Schedule an event to expire after delay. 
 
Time m_intervalT7
in seconds, wait for DSA/DSC/DSD Response timeout 
 
void SetIntervalT20(Time interval20)
 
void SetMaxContentionRangingRetries(uint8_t maxContentionRangingRetries)
 
uint8_t m_maxContentionRangingRetries
maximum contention ranging retries 
 
void SetCurrentDcd(Dcd dcd)
Set the current DCD. 
 
AttributeValue implementation for Time. 
 
double m_allocationStartTime
allocation start time 
 
uint32_t m_nrDcdRecvd
number DCD received 
 
void SetIntervalT12(Time interval12)
 
void SetFecCodeType(uint8_t fecCodeType)
Set FEC code type. 
 
bool DoSend(Ptr< Packet > packet, const Mac48Address &source, const Mac48Address &dest, uint16_t protocolNumber)
Send a packet. 
 
Hold an unsigned integer type. 
 
OfdmUcdChannelEncodings GetChannelEncodings(void) const 
Get channel encodings. 
 
bool Enqueue(Ptr< Packet > packet, const MacHeaderType &hdrType, Ptr< WimaxConnection > connection)
Enqueue a packet into a connection queue. 
 
void SetUiuc(uint8_t uiuc)
Set UIUC. 
 
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 ...
 
This class implements the UCD message as described by "IEEE Standard for Local and metropolitan area ...
 
Time m_intervalT12
in seconds, wait for UCD descriptor 
 
uint8_t GetRangingBackoffStart(void) const 
Get ranging backoff start. 
 
Ptr< SsServiceFlowManager > m_serviceFlowManager
the service flow manager 
 
uint8_t GetFecCodeType(void) const 
Get FEC code type. 
 
std::list< OfdmUlMapIe > GetUlMapElements(void) const 
Get UL map elements. 
 
Ptr< WimaxConnection > GetInitialRangingConnection(void) const 
Get the initial ranging connection. 
 
Ptr< BandwidthManager > GetBandwidthManager(void) const 
Get the bandwidth manager on the device. 
 
Ptr< SSLinkManager > GetLinkManager(void) const 
 
TracedCallback< Ptr< const Packet > > m_ssTxTrace
The trace source fired when packets come into the "top" of the device at the L3/L2 transition...
 
void SetLinkManager(Ptr< SSLinkManager > linkManager)
sets the link manager to be used 
 
EventId m_ucdWaitTimeoutEvent
UCD wait timeout event. 
 
bool IsPromisc(void)
Check if device is promiscious. 
 
uint8_t GetUiuc(void) const 
Get UIUC. 
 
This class implements Downlink channel descriptor as described by "IEEE Standard for Local and metrop...
 
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. 
 
Mac48Address GetMacAddress(void) const 
Get the MAC address. 
 
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 ...
 
virtual void DoDispose(void)
Destructor implementation. 
 
ModulationType
ModulationType enumeration. 
 
void UpdatePktsRcvd(uint32_t pktsRcvd)
update the number of received packets by adding pktsRcvd 
 
uint8_t GetUiuc(void) const 
Get UIUC. 
 
uint16_t GetEirxPIrMax(void) const 
Get EIRX IR MAX field. 
 
Time m_maxDcdInterval
in seconds, maximum time between transmission of DCD messages 
 
EventId m_lostDlMapEvent
lost DL map event 
 
Hold together all WiMAX-related objects in a NetDevice. 
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
uint16_t GetDuration(void) const 
Get duration. 
 
Hold objects of type Ptr. 
 
uint16_t GetBsEirp(void) const 
Get BS EIRP field. 
 
static TypeId GetTypeId(void)
Get the type ID. 
 
void DoDispose(void)
Destructor implementation. 
 
WimaxPhy::ModulationType GetModulationType(void) const 
 
Time m_lostUlMapInterval
in milliseconds, time since last received UL-MAP before uplink synchronization is considered lost...
 
uint32_t GetPktsRcvd(void) const 
 
uint8_t GetUcdCount(void) const 
Get UCD count. 
 
Ucd GetCurrentUcd(void) const 
Get the current UCD. 
 
This class implements service flows as described by the IEEE-802.16 standard. 
 
static EventId ScheduleNow(MEM mem_ptr, OBJ obj)
Schedule an event to expire Now. 
 
std::list< Ptr< const Packet > > FragmentsQueue
Definition of Fragments Queue data type. 
 
Ptr< SSLinkManager > m_linkManager
link manager 
 
void SetBasicConnection(Ptr< WimaxConnection > basicConnection)
 
Ptr< const AttributeAccessor > MakeTimeAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
 
TracedCallback< Ptr< const Packet >, Mac48Address, const Cid & > m_traceSSRx
trace SS receive callback 
 
static Time Now(void)
Return the current simulation virtual time. 
 
This class implements the OFDM DCD channel encodings as described by "IEEE Standard for Local and met...
 
void SetPhy(Ptr< WimaxPhy > phy)
Set the physical layer object. 
 
Mac48Address GetBaseStationId(void) const 
Get base station ID field. 
 
ServiceFlowRecord * GetRecord(void) const 
Get service flow record. 
 
Ptr< WimaxConnection > GetBasicConnection(void) const 
 
void SetAreServiceFlowsAllocated(bool areServiceFlowsAllocated)
 
uint16_t m_nrDlMapElements
number DL Map elements 
 
void NotifyPromiscTrace(Ptr< Packet > p)
Notify promiscious trace of a packet arrival. 
 
void SetIpcsPacketClassifier(Ptr< IpcsClassifier > classifier)
Sets the packet classifier to be used. 
 
Ptr< BurstProfileManager > GetBurstProfileManager(void) const 
Get the burst profile manager. 
 
Time GetIntervalT21(void) const 
 
EventId m_rangOppWaitTimeoutEvent
range opp wait timeout event 
 
bool m_areManagementConnectionsAllocated
are management connections allocated 
 
An identifier for simulation events. 
 
std::vector< OfdmDlBurstProfile > GetDlBurstProfiles(void) const 
Get DL burst profile field. 
 
std::vector< OfdmUlBurstProfile > GetUlBurstProfiles(void) const 
Get UL burst profiles. 
 
Time m_intervalT2
in seconds, wait for broadcast ranging timeout, i.e., wait for initial ranging opportunity ...
 
void SetCurrentUcd(Ucd ucd)
Set the current UCD. 
 
Time GetIntervalT1(void) const 
 
This class implements the UL-MAP_IE message as described by "IEEE Standard for Local and metropolitan...
 
void ForwardDown(Ptr< PacketBurst > burst, WimaxPhy::ModulationType modulationType)
Forward a packet down the stack. 
 
Ptr< WimaxPhy > GetPhy(void) const 
Get the physical layer object. 
 
Time GetMaxDcdInterval(void) const 
 
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG. 
 
Time Seconds(double value)
Construct a Time in the indicated unit. 
 
void SetIntervalT7(Time interval7)
 
void CreateDefaultConnections(void)
Creates the initial ranging and broadcast connections. 
 
uint32_t GetAllocationStartTime(void) const 
Get allocation start time. 
 
uint32_t GetBytesSent(void) const 
 
OfdmDlBurstProfile * m_dlBurstProfile
DL burst profile. 
 
Time GetLostDlMapInterval(void) const 
 
SubscriberStationNetDevice subclass of WimaxNetDevice. 
 
Time m_intervalT1
in seconds, wait for DCD timeout 
 
Time GetIntervalT20(void) const 
 
Time m_maxUcdInterval
in seconds, maximum time between transmission of UCD messages 
 
Time MicroSeconds(uint64_t value)
Construct a Time in the indicated unit. 
 
void SetState(uint8_t state)
Set the device state. 
 
#define NS_LOG_ERROR(msg)
Use NS_LOG to output a message of level LOG_ERROR. 
 
uint8_t GetDiuc(void) const 
 
Ptr< IpcsClassifier > m_classifier
the classifier 
 
void InitSubscriberStationNetDevice(void)
initializes the net device and sets the parameters to the default values 
 
uint8_t m_ucdCount
UCD count. 
 
WimaxPhy::ModulationType m_modulationType
modulation type 
 
void UpdateBytesSent(uint32_t bytesSent)
update the number of sent bytes by adding bytesSent 
 
Time GetTimeToAllocation(Time deferTime)
Get time to allocation. 
 
virtual void SetNode(Ptr< Node > node)
Set node pointer. 
 
OfdmUlBurstProfile * m_ulBurstProfile
UL burst profile. 
 
Ptr< SsServiceFlowManager > GetServiceFlowManager(void) const 
 
Ptr< const AttributeAccessor > MakeUintegerAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
 
This class implements the UL-MAP_IE message as described by "IEEE Standard for Local and metropolitan...
 
void AddServiceFlow(ServiceFlow *sf)
adds a new service flow 
 
a unique identifier for an interface. 
 
uint16_t m_nrUlMapElements
number UL Map elements 
 
void SetServiceFlowManager(Ptr< SsServiceFlowManager > sfm)
Sets the service flow manager to be installed on the device. 
 
uint8_t m_dcdCount
DCD count. 
 
TypeId SetParent(TypeId tid)
Set the parent TypeId. 
 
void SetReceiveCallback(void)
Set receive callback function. 
 
uint32_t m_nrUlMapRecvd
number UL map received 
 
static Time m_frameStartTime
temp, to determine the frame start time at SS side, shall actually be determined by frame start pream...
 
uint16_t GetStartTime(void) const 
Get start time. 
 
void SetPrimaryConnection(Ptr< WimaxConnection > primaryConnection)
 
This class implements the OFDM Downlink burst profile descriptor as described by "IEEE Standard for L...
 
uint8_t GetMaxContentionRangingRetries(void) const 
 
void AddHeader(const Header &header)
Add header to this packet. 
 
uint8_t GetState(void) const 
Get the device state. 
 
void SetFecCodeType(uint8_t fecCodeType)
Set FEC code type. 
 
Ptr< WimaxConnection > GetPrimaryConnection(void) const 
 
HeaderType
Header type enumeration. 
 
uint16_t GetCid(void) const 
Get CID. 
 
void Stop(void)
Stop the device. 
 
bool GetAreServiceFlowsAllocated(void) const 
 
void UpdatePktsSent(uint32_t pktsSent)
update the number of sent packets by adding pktsSent 
 
EventId m_dcdWaitTimeoutEvent
DCD wait timeout event. 
 
Time GetIntervalT3(void) const 
 
uint32_t GetPktsSent(void) const 
 
void UpdateBytesRcvd(uint32_t bytesRcvd)
update the number of received bytes by adding bytesRcvd