A Discrete-Event Network Simulator
API
mac-messages.cc
Go to the documentation of this file.
1/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2/*
3 * Copyright (c) 2007,2008,2009 INRIA, UDcast
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation;
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 *
18 * Authors: Jahanzeb Farooq <jahanzeb.farooq@sophia.inria.fr>
19 * Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
20 * <amine.ismail@UDcast.com>
21 */
22
23#include "mac-messages.h"
24#include "ns3/address-utils.h"
25#include "ns3/uinteger.h"
26#include "ns3/log.h"
27#include "wimax-tlv.h"
28
29namespace ns3 {
30
31NS_LOG_COMPONENT_DEFINE ("MACMESSAGES");
32
33NS_OBJECT_ENSURE_REGISTERED (ManagementMessageType);
34
36 : m_type (~0)
37{
38}
39
41 : m_type (type)
42{
43}
44
46{
47}
48
49void
51{
52 m_type = type;
53}
54
55uint8_t
57{
58 return m_type;
59}
60
61std::string
63{
64 return "Management Message Type";
65}
66
69{
70 static TypeId tid =
71 TypeId ("ns3::ManagementMessageType")
72 .SetParent<Header> ()
73 .SetGroupName("Wimax")
74 .AddConstructor<ManagementMessageType> ()
75 ;
76 return tid;
77}
78
81{
82 return GetTypeId ();
83}
84
85void
86ManagementMessageType::Print (std::ostream &os) const
87{
88 os << " management message type = " << (uint32_t) m_type;
89}
90
93{
94 return 1;
95}
96
97void
99{
101 i.WriteU8 (m_type);
102}
103
106{
108 m_type = i.ReadU8 ();
109 return i.GetDistanceFrom (start);
110}
111
112// ---------------------------------------------------------------------
113
115
117 : m_reserved (0),
118 m_reqDlBurstProfile (0),
119 m_macAddress (Mac48Address ("00:00:00:00:00:00")),
120 m_rangingAnomalies (0)
121{
122}
123
125{
126}
127
128void
129RngReq::SetReqDlBurstProfile (uint8_t reqDlBurstProfile)
130{
131 m_reqDlBurstProfile = reqDlBurstProfile;
132}
133
134void
136{
137 m_macAddress = macAddress;
138}
139
140void
141RngReq::SetRangingAnomalies (uint8_t rangingAnomalies)
142{
143 m_rangingAnomalies = rangingAnomalies;
144}
145
146uint8_t
148{
149 return m_reqDlBurstProfile;
150}
151
154{
155 return m_macAddress;
156}
157
158uint8_t
160{
161 return m_rangingAnomalies;
162}
163
164std::string
165RngReq::GetName (void) const
166{
167 return "RNG-REQ";
168}
169
170TypeId
172{
173 static TypeId tid = TypeId ("ns3::RngReq")
174 .SetParent<Header> ()
175 .SetGroupName("Wimax")
176 .AddConstructor<RngReq> ()
177 ;
178 return tid;
179}
180
181TypeId
183{
184 return GetTypeId ();
185}
186
187void
188RngReq::Print (std::ostream &os) const
189{
190 os << " requested dl burst profile = " << (uint32_t) m_reqDlBurstProfile << ", mac address = " << m_macAddress
191 << ", ranging anomalies = " << (uint32_t) m_rangingAnomalies;
192}
193
194void
196{
197 NS_LOG_DEBUG (" requested dl burst profile = " << (uint32_t) m_reqDlBurstProfile << ", mac address = "
198 << m_macAddress << ", ranging anomalies = "
200}
201
204{
205 return 1 + 1 + 6 + 1;
206}
207
208void
210{
216}
217
220{
222 m_reserved = i.ReadU8 ();
226
227 return i.GetDistanceFrom (start);
228}
229
230// ---------------------------------------------------------------------
231
233
235 : m_reserved (0),
236 m_timingAdjust (0),
237 m_powerLevelAdjust (0),
238 m_offsetFreqAdjust (0),
239 m_rangStatus (0),
240 m_dlFreqOverride (0),
241 m_ulChnlIdOverride (0),
242 m_dlOperBurstProfile (0),
243 m_macAddress (Mac48Address ("00:00:00:00:00:00")),
244 m_basicCid (),
245 m_primaryCid (),
246 m_aasBdcastPermission (0),
247 m_frameNumber (0),
248 m_initRangOppNumber (0),
249 m_rangSubchnl (0)
250{
251}
252
254{
255}
256
257void
259{
260 m_timingAdjust = timingAdjust;
261}
262
263void
264RngRsp::SetPowerLevelAdjust (uint8_t powerLevelAdjust)
265{
266 m_powerLevelAdjust = powerLevelAdjust;
267}
268
269void
271{
272 m_offsetFreqAdjust = offsetFreqAdjust;
273}
274
275void
276RngRsp::SetRangStatus (uint8_t rangStatus)
277{
278 m_rangStatus = rangStatus;
279}
280
281void
283{
284 m_dlFreqOverride = dlFreqOverride;
285}
286
287void
288RngRsp::SetUlChnlIdOverride (uint8_t ulChnlIdOverride)
289{
290 m_ulChnlIdOverride = ulChnlIdOverride;
291}
292
293void
294RngRsp::SetDlOperBurstProfile (uint16_t dlOperBurstProfile)
295{
296 m_dlOperBurstProfile = dlOperBurstProfile;
297}
298
299void
301{
302 m_macAddress = macAddress;
303}
304
305void
307{
308 m_basicCid = basicCid;
309}
310
311void
313{
314 m_primaryCid = primaryCid;
315}
316
317void
318RngRsp::SetAasBdcastPermission (uint8_t aasBdcastPermission)
319{
320 m_aasBdcastPermission = aasBdcastPermission;
321}
322
323void
325{
326 m_frameNumber = frameNumber;
327}
328
329void
330RngRsp::SetInitRangOppNumber (uint8_t initRangOppNumber)
331{
332 m_initRangOppNumber = initRangOppNumber;
333}
334
335void
336RngRsp::SetRangSubchnl (uint8_t rangSubchnl)
337{
338 m_rangSubchnl = rangSubchnl;
339}
340
343{
344 return m_timingAdjust;
345}
346
347uint8_t
349{
350 return m_powerLevelAdjust;
351}
352
355{
356 return m_offsetFreqAdjust;
357}
358
359uint8_t
361{
362 return m_rangStatus;
363}
364
367{
368 return m_dlFreqOverride;
369}
370
371uint8_t
373{
374 return m_ulChnlIdOverride;
375}
376
377uint16_t
379{
381}
382
385{
386 return m_macAddress;
387}
388
389Cid
391{
392 return m_basicCid;
393}
394
395Cid
397{
398 return m_primaryCid;
399}
400
401uint8_t
403{
405}
406
409{
410 return m_frameNumber;
411}
412
413uint8_t
415{
416 return m_initRangOppNumber;
417}
418
419uint8_t
421{
422 return m_rangSubchnl;
423}
424
425std::string
426RngRsp::GetName (void) const
427{
428 return "RNG-RSP";
429}
430
431TypeId
433{
434 static TypeId tid = TypeId ("ns3::RngRsp")
435 .SetParent<Header> ()
436 .SetGroupName("Wimax")
437 .AddConstructor<RngRsp> ()
438 ;
439 return tid;
440}
441
442TypeId
444{
445 return GetTypeId ();
446}
447
448void
449RngRsp::Print (std::ostream &os) const
450{
451 os << " timing adjust = " << m_timingAdjust << ", power level adjust = " << (uint32_t) m_powerLevelAdjust
452 << ", offset freq adjust = " << m_offsetFreqAdjust << ", ranging status = " << (uint32_t) m_rangStatus
453 << ", dl freq override = " << m_dlFreqOverride << ", ul channel id override = " << (uint32_t) m_ulChnlIdOverride
454 << ", dl operational burst profile = " << (uint32_t) m_dlOperBurstProfile << ", mac address = " << m_macAddress
455 << ", basic cid = " << m_basicCid << ", primary management cid = " << m_primaryCid
456 << ", aas broadcast permission = " << (uint32_t) m_aasBdcastPermission << ", frame number = " << m_frameNumber
457 << ", initial ranging opportunity number = " << (uint32_t) m_initRangOppNumber << ", ranging subchannel = "
459}
460
463{
464 return 1 + 4 + 1 + 4 + 1 + 4 + 1 + 2 + 6 + 2 + 2 + 1 + 4 + 1 + 1;
465}
466
467void
469{
486}
487
490{
492 m_reserved = i.ReadU8 ();
493 m_timingAdjust = i.ReadU32 ();
496 m_rangStatus = i.ReadU8 ();
500 ReadFrom (i, m_macAddress); // length (6) shall also be written in packet instead of hard coded, see ARP example
501 m_basicCid = i.ReadU16 ();
502 m_primaryCid = i.ReadU16 ();
504 m_frameNumber = i.ReadU32 ();
506 m_rangSubchnl = i.ReadU8 ();
507
508 return i.GetDistanceFrom (start);
509}
510
511// ---------------------------------------------------------------------
512
514
516 : m_transactionId (0),
517 m_sfid (0),
518 m_cid (),
519 m_serviceFlow (ServiceFlow::SF_DIRECTION_DOWN)
520{
521}
522
524{
525 m_transactionId = 0;
526 m_serviceFlow = sf;
527}
528
530{
531}
532
533void
534DsaReq::SetTransactionId (uint16_t transactionId)
535{
536 m_transactionId = transactionId;
537}
538
539uint16_t
541{
542 return m_transactionId;
543}
544
545void
547{
548 m_sfid = sfid;
549}
550
552DsaReq::GetSfid (void) const
553{
554 return m_sfid;
555}
556
557void
559{
560 m_cid = cid;
561}
562
563Cid
564DsaReq::GetCid (void) const
565{
566 return m_cid;
567}
568
569
570std::string
571DsaReq::GetName (void) const
572{
573 return "DSA-REQ";
574}
575
576TypeId
578{
579 static TypeId tid = TypeId ("ns3::DsaReq")
580 .SetParent<Header> ()
581 .SetGroupName("Wimax")
582 .AddConstructor<DsaReq> ()
583 ;
584 return tid;
585}
586
587TypeId
589{
590 return GetTypeId ();
591}
592
593void
594DsaReq::Print (std::ostream &os) const
595{
596 os << " transaction id = " << (uint32_t) m_transactionId << ", m_sfid = " << m_sfid << ", cid = " << m_cid;
597}
598
601{
602 Tlv t = m_serviceFlow.ToTlv ();
603 uint32_t size = 2 + t.GetSerializedSize ();
604 return size;
605}
606
607void
609{
612 Tlv t = m_serviceFlow.ToTlv ();
613 t.Serialize (i);
614}
615
618{
621 Tlv tlv;
622 uint32_t size = tlv.Deserialize (i);
624 return size + 2;
625}
626
629{
630 return m_serviceFlow;
631}
632
633void
635{
636 m_serviceFlow = sf;
637}
638
639// ---------------------------------------------------------------------
640
642
644 : m_transactionId (0),
645 m_confirmationCode (0),
646 m_sfid (0),
647 m_cid ()
648{
649}
650
652{
653}
654
655void
656DsaRsp::SetTransactionId (uint16_t transactionId)
657{
658 m_transactionId = transactionId;
659}
660
661uint16_t
663{
664 return m_transactionId;
665}
666
669{
670 return m_serviceFlow;
671}
672
673void
675{
676 m_serviceFlow = sf;
677}
678
679void
680DsaRsp::SetConfirmationCode (uint16_t confirmationCode)
681{
682 m_confirmationCode = confirmationCode;
683}
684
685uint16_t
687{
688 return m_confirmationCode;
689}
690
691void
693{
694 m_sfid = sfid;
695}
696
698DsaRsp::GetSfid (void) const
699{
700 return m_sfid;
701}
702
703void
705{
706 m_cid = cid;
707}
708
709Cid
710DsaRsp::GetCid (void) const
711{
712 return m_cid;
713}
714
715std::string
716DsaRsp::GetName (void) const
717{
718 return "DSA-RSP";
719}
720
721TypeId
723{
724 static TypeId tid = TypeId ("ns3::DsaRsp")
725 .SetParent<Header> ()
726 .SetGroupName("Wimax")
727 .AddConstructor<DsaRsp> ()
728 ;
729 return tid;
730}
731
732TypeId
734{
735 return GetTypeId ();
736}
737
738void
739DsaRsp::Print (std::ostream &os) const
740{
741 os << " transaction id = " << (uint32_t) m_transactionId << ", confirmation code = " << (uint32_t) m_confirmationCode
742 << ", m_sfid = " << m_sfid << ", cid = " << m_cid;
743}
744
747{
748 return 2 + 1 + m_serviceFlow.ToTlv ().GetSerializedSize ();
749}
750
751
752void
754{
756
760}
761
764{
766
769 Tlv tlv;
770 uint32_t size = tlv.Deserialize (i);
772 return size + 3;
773}
774
775// ---------------------------------------------------------------------
776
778
780 : m_transactionId (0),
781 m_confirmationCode (0)
782{
783}
784
786{
787}
788
789void
790DsaAck::SetTransactionId (uint16_t transactionId)
791{
792 m_transactionId = transactionId;
793}
794
795uint16_t
797{
798 return m_transactionId;
799}
800
801void
802DsaAck::SetConfirmationCode (uint16_t confirmationCode)
803{
804 m_confirmationCode = confirmationCode;
805}
806
807uint16_t
809{
810 return m_confirmationCode;
811}
812
813std::string
814DsaAck::GetName (void) const
815{
816 return "DSA-ACK";
817}
818
819TypeId
821{
822 static TypeId tid = TypeId ("ns3::DsaAck")
823 .SetParent<Header> ()
824 .SetGroupName("Wimax")
825 .AddConstructor<DsaAck> ()
826 ;
827 return tid;
828}
829
830TypeId
832{
833 return GetTypeId ();
834}
835
836void
837DsaAck::Print (std::ostream &os) const
838{
839 os << " transaction id = " << (uint32_t) m_transactionId << ", confirmation code = " << (uint32_t) m_confirmationCode;
840}
841
844{
845 return 2 + 1;
846}
847
848void
850{
854}
855
858{
862
863 return i.GetDistanceFrom (start);
864}
865
866} // namespace ns3
iterator in a Buffer instance
Definition: buffer.h:99
void WriteU32(uint32_t data)
Definition: buffer.cc:879
void WriteU8(uint8_t data)
Definition: buffer.h:869
void WriteU16(uint16_t data)
Definition: buffer.cc:871
uint16_t ReadU16(void)
Definition: buffer.h:1029
uint8_t ReadU8(void)
Definition: buffer.h:1021
uint32_t GetDistanceFrom(Iterator const &o) const
Definition: buffer.cc:788
uint32_t ReadU32(void)
Definition: buffer.cc:973
Cid class.
Definition: cid.h:38
uint16_t GetIdentifier(void) const
Definition: cid.cc:45
This class implements the DSA-ACK message described by "IEEE Standard for Local and metropolitan area...
Definition: mac-messages.h:573
uint16_t GetConfirmationCode(void) const
Get confirmation code field.
void SetConfirmationCode(uint16_t confirmationCode)
Set confirmation code field.
void Serialize(Buffer::Iterator start) const
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
void SetTransactionId(uint16_t transactionId)
Set transaction ID field.
uint16_t m_transactionId
transaction ID
Definition: mac-messages.h:617
uint32_t GetSerializedSize(void) const
static TypeId GetTypeId(void)
Get the type ID.
uint16_t GetTransactionId(void) const
Get transaction ID field.
void Print(std::ostream &os) const
uint32_t Deserialize(Buffer::Iterator start)
std::string GetName(void) const
Get name field.
uint8_t m_confirmationCode
confirmation code
Definition: mac-messages.h:618
This class implements the DSA-REQ message described by "IEEE Standard for Local and metropolitan area...
Definition: mac-messages.h:374
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
void SetTransactionId(uint16_t transactionId)
set the transaction ID
void Print(std::ostream &os) const
static TypeId GetTypeId(void)
Get the type ID.
Cid m_cid
CID.
Definition: mac-messages.h:439
uint16_t GetTransactionId(void) const
ServiceFlow GetServiceFlow(void) const
std::string GetName(void) const
uint32_t GetSfid(void) const
uint32_t GetSerializedSize(void) const
ServiceFlow m_serviceFlow
service flow
Definition: mac-messages.h:440
uint32_t Deserialize(Buffer::Iterator start)
void Serialize(Buffer::Iterator start) const
void SetServiceFlow(ServiceFlow sf)
specify a service flow to be requested by this message
uint32_t m_sfid
SFID.
Definition: mac-messages.h:438
void SetSfid(uint32_t sfid)
set the service flow identifier
void SetCid(Cid cid)
set the connection identifier
uint16_t m_transactionId
transaction ID
Definition: mac-messages.h:436
Cid GetCid(void) const
This class implements the DSA-RSP message described by "IEEE Standard for Local and metropolitan ar...
Definition: mac-messages.h:475
void SetConfirmationCode(uint16_t confirmationCode)
set the confirmation code
uint32_t m_sfid
SFID.
Definition: mac-messages.h:546
uint16_t GetTransactionId(void) const
void Print(std::ostream &os) const
ServiceFlow m_serviceFlow
service flow
Definition: mac-messages.h:545
uint32_t GetSfid(void) const
void SetSfid(uint32_t sfid)
set the service flow identifier
static TypeId GetTypeId(void)
Get the type ID.
uint16_t m_transactionId
transaction ID
Definition: mac-messages.h:542
uint32_t Deserialize(Buffer::Iterator start)
void SetServiceFlow(ServiceFlow sf)
specify a service flow to be requested by this message
uint16_t GetConfirmationCode(void) const
ServiceFlow GetServiceFlow(void) const
uint32_t GetSerializedSize(void) const
void SetTransactionId(uint16_t transactionId)
set the transaction ID
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
void Serialize(Buffer::Iterator start) const
Cid m_cid
CID.
Definition: mac-messages.h:547
std::string GetName(void) const
uint8_t m_confirmationCode
confirmation code
Definition: mac-messages.h:543
Cid GetCid(void) const
void SetCid(Cid cid)
set the connection identifier
Protocol header serialization and deserialization.
Definition: header.h:43
an EUI-48 address
Definition: mac48-address.h:44
Mac Management messages Section 6.3.2.3 MAC Management messages page 42, Table 14 page 43.
Definition: mac-messages.h:44
void Serialize(Buffer::Iterator start) const
Definition: mac-messages.cc:98
virtual ~ManagementMessageType(void)
Definition: mac-messages.cc:45
void Print(std::ostream &os) const
Definition: mac-messages.cc:86
uint8_t GetType(void) const
Get type field.
Definition: mac-messages.cc:56
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition: mac-messages.cc:80
std::string GetName(void) const
Definition: mac-messages.cc:62
static TypeId GetTypeId(void)
Get the type ID.
Definition: mac-messages.cc:68
void SetType(uint8_t type)
Set type field.
Definition: mac-messages.cc:50
uint32_t GetSerializedSize(void) const
Definition: mac-messages.cc:92
uint32_t Deserialize(Buffer::Iterator start)
This class implements the ranging request message described by "IEEE Standard for Local and metropoli...
Definition: mac-messages.h:643
uint8_t m_rangingAnomalies
ranging anomalies
Definition: mac-messages.h:703
Mac48Address GetMacAddress(void) const
Get MAC address field.
void SetReqDlBurstProfile(uint8_t reqDlBurstProfile)
Set request DL burst profile field.
uint8_t GetRangingAnomalies(void) const
Get ranging anomalies field.
static TypeId GetTypeId(void)
Get the type ID.
uint8_t GetReqDlBurstProfile(void) const
Get request DL burst profile field.
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
void SetRangingAnomalies(uint8_t rangingAnomalies)
Set ranging anomalies field.
void Serialize(Buffer::Iterator start) const
virtual ~RngReq(void)
void PrintDebug(void) const
Print debug function.
uint8_t m_reserved
changed as per the amendment 802.16e-2005
Definition: mac-messages.h:698
void SetMacAddress(Mac48Address macAddress)
Set MAC address field.
void Print(std::ostream &os) const
uint8_t m_reqDlBurstProfile
request DL burst profile
Definition: mac-messages.h:701
std::string GetName(void) const
Get name field.
uint32_t GetSerializedSize(void) const
uint32_t Deserialize(Buffer::Iterator start)
Mac48Address m_macAddress
MAC address.
Definition: mac-messages.h:702
This class implements the ranging response message described by "IEEE Standard for Local and metropol...
Definition: mac-messages.h:122
void Serialize(Buffer::Iterator start) const
Mac48Address GetMacAddress(void) const
void SetMacAddress(Mac48Address macAddress)
set the MAC address
Mac48Address m_macAddress
MAC address.
Definition: mac-messages.h:325
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
uint16_t m_dlOperBurstProfile
This parameter is sent in response to the RNG-REQ Requested Downlink Burst Profile parameter.
Definition: mac-messages.h:323
uint32_t Deserialize(Buffer::Iterator start)
uint8_t GetRangStatus(void) const
Cid m_primaryCid
primary CID
Definition: mac-messages.h:327
void SetUlChnlIdOverride(uint8_t ulChnlIdOverride)
set the identifier of the uplink channel with which the SS is to redo initial ranging
uint8_t m_aasBdcastPermission
AAS broadcast permission.
Definition: mac-messages.h:328
uint32_t GetSerializedSize(void) const
uint8_t m_rangStatus
range status.
Definition: mac-messages.h:307
void SetBasicCid(Cid basicCid)
set basic CID.
Cid GetBasicCid(void) const
uint32_t m_dlFreqOverride
Center frequency, in kHz, of new downlink channel where the SS should redo initial ranging.
Definition: mac-messages.h:310
void Print(std::ostream &os) const
static TypeId GetTypeId(void)
Register this type.
uint32_t GetTimingAdjust(void) const
void SetAasBdcastPermission(uint8_t aasBdcastPermission)
set AAS broadcast permission.
void SetDlOperBurstProfile(uint16_t dlOperBurstProfile)
set the DL oper burst profile
Cid GetPrimaryCid(void) const
uint32_t GetDlFreqOverride(void) const
void SetPrimaryCid(Cid primaryCid)
set primary CID.
uint8_t m_initRangOppNumber
Initial Ranging opportunity (1–255) in which the associated RNG_REQ message was detected by the BS.
Definition: mac-messages.h:340
void SetRangSubchnl(uint8_t rangSubchnl)
set range sub channel.
uint8_t m_rangSubchnl
Used to indicate the OFDM subchannel reference that was used to transmit the initial ranging message ...
Definition: mac-messages.h:346
void SetPowerLevelAdjust(uint8_t powerLevelAdjust)
set the relative change in transmission power level that the SS should make in order that transmissio...
void SetInitRangOppNumber(uint8_t initRangOppNumber)
set initial range opp number.
void SetTimingAdjust(uint32_t timingAdjust)
set the Tx timing offset adjustment (signed 32-bit).
uint8_t m_ulChnlIdOverride
Licensed bands: The identifier of the uplink channel with which the SS is to redo initial ranging (no...
Definition: mac-messages.h:316
uint8_t m_powerLevelAdjust
Specifies the relative change in transmission power level that the SS is to make in order that transm...
Definition: mac-messages.h:296
void SetFrameNumber(uint32_t frameNumber)
set frame number.
uint8_t GetInitRangOppNumber(void) const
uint8_t GetAasBdcastPermission(void) const
void SetDlFreqOverride(uint32_t dlFreqOverride)
set the Center frequency, in kHz, of new downlink channel where the SS should redo initial ranging.
void SetOffsetFreqAdjust(uint32_t offsetFreqAdjust)
set the relative change in transmission frequency that the SS should take in order to better match th...
uint8_t GetRangSubchnl(void) const
std::string GetName(void) const
uint16_t GetDlOperBurstProfile(void) const
uint8_t m_reserved
changed as per the amendment 802.16e-2005
Definition: mac-messages.h:280
uint32_t GetOffsetFreqAdjust(void) const
uint32_t m_offsetFreqAdjust
Specifies the relative change in transmission frequency that the SS is to make in order to better mat...
Definition: mac-messages.h:302
uint32_t GetFrameNumber(void) const
Cid m_basicCid
basic CID
Definition: mac-messages.h:326
void SetRangStatus(uint8_t rangStatus)
set the range status.
uint32_t m_timingAdjust
Tx timing offset adjustment (signed 32-bit).
Definition: mac-messages.h:288
uint8_t GetUlChnlIdOverride(void) const
uint32_t m_frameNumber
Frame number where the associated RNG_REQ message was detected by the BS.
Definition: mac-messages.h:334
virtual ~RngRsp(void)
uint8_t GetPowerLevelAdjust(void) const
This class implements service flows as described by the IEEE-802.16 standard.
Definition: service-flow.h:40
Tlv ToTlv(void) const
creates a TLV from this service flow
This class implements the Type-Len-Value structure channel encodings as described by "IEEE Standard f...
Definition: wimax-tlv.h:84
virtual void Serialize(Buffer::Iterator start) const
Definition: wimax-tlv.cc:127
virtual uint32_t Deserialize(Buffer::Iterator start)
Definition: wimax-tlv.cc:147
virtual uint32_t GetSerializedSize(void) const
Definition: wimax-tlv.cc:103
a unique identifier for an interface.
Definition: type-id.h:59
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Definition: type-id.cc:922
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Definition: log.h:205
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG.
Definition: log.h:273
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Definition: object-base.h:45
Every class exported by the ns3 library is enclosed in the ns3 namespace.
void WriteTo(Buffer::Iterator &i, Ipv4Address ad)
Write an Ipv4Address to a Buffer.
void ReadFrom(Buffer::Iterator &i, Ipv4Address &ad)
Read an Ipv4Address from a Buffer.
def start()
Definition: core.py:1853