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 
29 namespace ns3 {
30 
31 NS_LOG_COMPONENT_DEFINE ("MACMESSAGES");
32 
33 NS_OBJECT_ENSURE_REGISTERED (ManagementMessageType);
34 
36  : m_type (~0)
37 {
38 }
39 
41  : m_type (type)
42 {
43 }
44 
46 {
47 }
48 
49 void
51 {
52  m_type = type;
53 }
54 
55 uint8_t
57 {
58  return m_type;
59 }
60 
61 std::string
63 {
64  return "Management Message Type";
65 }
66 
67 TypeId
69 {
70  static TypeId tid =
71  TypeId ("ns3::ManagementMessageType")
72  .SetParent<Header> ()
73  .SetGroupName("Wimax")
74  .AddConstructor<ManagementMessageType> ()
75  ;
76  return tid;
77 }
78 
79 TypeId
81 {
82  return GetTypeId ();
83 }
84 
85 void
86 ManagementMessageType::Print (std::ostream &os) const
87 {
88  os << " management message type = " << (uint32_t) m_type;
89 }
90 
91 uint32_t
93 {
94  return 1;
95 }
96 
97 void
99 {
101  i.WriteU8 (m_type);
102 }
103 
104 uint32_t
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 
128 void
129 RngReq::SetReqDlBurstProfile (uint8_t reqDlBurstProfile)
130 {
131  m_reqDlBurstProfile = reqDlBurstProfile;
132 }
133 
134 void
136 {
137  m_macAddress = macAddress;
138 }
139 
140 void
141 RngReq::SetRangingAnomalies (uint8_t rangingAnomalies)
142 {
143  m_rangingAnomalies = rangingAnomalies;
144 }
145 
146 uint8_t
148 {
149  return m_reqDlBurstProfile;
150 }
151 
154 {
155  return m_macAddress;
156 }
157 
158 uint8_t
160 {
161  return m_rangingAnomalies;
162 }
163 
164 std::string
165 RngReq::GetName (void) const
166 {
167  return "RNG-REQ";
168 }
169 
170 TypeId
172 {
173  static TypeId tid = TypeId ("ns3::RngReq")
174  .SetParent<Header> ()
175  .SetGroupName("Wimax")
176  .AddConstructor<RngReq> ()
177  ;
178  return tid;
179 }
180 
181 TypeId
183 {
184  return GetTypeId ();
185 }
186 
187 void
188 RngReq::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 
194 void
195 RngReq::PrintDebug (void) const
196 {
197  NS_LOG_DEBUG (" requested dl burst profile = " << (uint32_t) m_reqDlBurstProfile << ", mac address = "
198  << m_macAddress << ", ranging anomalies = "
199  << (uint32_t) m_rangingAnomalies);
200 }
201 
202 uint32_t
204 {
205  return 1 + 1 + 6 + 1;
206 }
207 
208 void
210 {
212  i.WriteU8 (m_reserved);
214  WriteTo (i, m_macAddress);
216 }
217 
218 uint32_t
220 {
222  m_reserved = i.ReadU8 ();
224  ReadFrom (i, m_macAddress);
225  m_rangingAnomalies = 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 
257 void
258 RngRsp::SetTimingAdjust (uint32_t timingAdjust)
259 {
260  m_timingAdjust = timingAdjust;
261 }
262 
263 void
264 RngRsp::SetPowerLevelAdjust (uint8_t powerLevelAdjust)
265 {
266  m_powerLevelAdjust = powerLevelAdjust;
267 }
268 
269 void
270 RngRsp::SetOffsetFreqAdjust (uint32_t offsetFreqAdjust)
271 {
272  m_offsetFreqAdjust = offsetFreqAdjust;
273 }
274 
275 void
276 RngRsp::SetRangStatus (uint8_t rangStatus)
277 {
278  m_rangStatus = rangStatus;
279 }
280 
281 void
282 RngRsp::SetDlFreqOverride (uint32_t dlFreqOverride)
283 {
284  m_dlFreqOverride = dlFreqOverride;
285 }
286 
287 void
288 RngRsp::SetUlChnlIdOverride (uint8_t ulChnlIdOverride)
289 {
290  m_ulChnlIdOverride = ulChnlIdOverride;
291 }
292 
293 void
294 RngRsp::SetDlOperBurstProfile (uint16_t dlOperBurstProfile)
295 {
296  m_dlOperBurstProfile = dlOperBurstProfile;
297 }
298 
299 void
301 {
302  m_macAddress = macAddress;
303 }
304 
305 void
307 {
308  m_basicCid = basicCid;
309 }
310 
311 void
313 {
314  m_primaryCid = primaryCid;
315 }
316 
317 void
318 RngRsp::SetAasBdcastPermission (uint8_t aasBdcastPermission)
319 {
320  m_aasBdcastPermission = aasBdcastPermission;
321 }
322 
323 void
324 RngRsp::SetFrameNumber (uint32_t frameNumber)
325 {
326  m_frameNumber = frameNumber;
327 }
328 
329 void
330 RngRsp::SetInitRangOppNumber (uint8_t initRangOppNumber)
331 {
332  m_initRangOppNumber = initRangOppNumber;
333 }
334 
335 void
336 RngRsp::SetRangSubchnl (uint8_t rangSubchnl)
337 {
338  m_rangSubchnl = rangSubchnl;
339 }
340 
341 uint32_t
343 {
344  return m_timingAdjust;
345 }
346 
347 uint8_t
349 {
350  return m_powerLevelAdjust;
351 }
352 
353 uint32_t
355 {
356  return m_offsetFreqAdjust;
357 }
358 
359 uint8_t
361 {
362  return m_rangStatus;
363 }
364 
365 uint32_t
367 {
368  return m_dlFreqOverride;
369 }
370 
371 uint8_t
373 {
374  return m_ulChnlIdOverride;
375 }
376 
377 uint16_t
379 {
380  return m_dlOperBurstProfile;
381 }
382 
385 {
386  return m_macAddress;
387 }
388 
389 Cid
391 {
392  return m_basicCid;
393 }
394 
395 Cid
397 {
398  return m_primaryCid;
399 }
400 
401 uint8_t
403 {
404  return m_aasBdcastPermission;
405 }
406 
407 uint32_t
409 {
410  return m_frameNumber;
411 }
412 
413 uint8_t
415 {
416  return m_initRangOppNumber;
417 }
418 
419 uint8_t
421 {
422  return m_rangSubchnl;
423 }
424 
425 std::string
426 RngRsp::GetName (void) const
427 {
428  return "RNG-RSP";
429 }
430 
431 TypeId
433 {
434  static TypeId tid = TypeId ("ns3::RngRsp")
435  .SetParent<Header> ()
436  .SetGroupName("Wimax")
437  .AddConstructor<RngRsp> ()
438  ;
439  return tid;
440 }
441 
442 TypeId
444 {
445  return GetTypeId ();
446 }
447 
448 void
449 RngRsp::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 = "
458  << (uint32_t) m_rangSubchnl;
459 }
460 
461 uint32_t
463 {
464  return 1 + 4 + 1 + 4 + 1 + 4 + 1 + 2 + 6 + 2 + 2 + 1 + 4 + 1 + 1;
465 }
466 
467 void
469 {
471  i.WriteU8 (m_reserved);
475  i.WriteU8 (m_rangStatus);
479  WriteTo (i, m_macAddress);
486 }
487 
488 uint32_t
490 {
492  m_reserved = i.ReadU8 ();
493  m_timingAdjust = i.ReadU32 ();
494  m_powerLevelAdjust = i.ReadU8 ();
496  m_rangStatus = i.ReadU8 ();
497  m_dlFreqOverride = i.ReadU32 ();
498  m_ulChnlIdOverride = 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 
533 void
534 DsaReq::SetTransactionId (uint16_t transactionId)
535 {
536  m_transactionId = transactionId;
537 }
538 
539 uint16_t
541 {
542  return m_transactionId;
543 }
544 
545 void
546 DsaReq::SetSfid (uint32_t sfid)
547 {
548  m_sfid = sfid;
549 }
550 
551 uint32_t
552 DsaReq::GetSfid (void) const
553 {
554  return m_sfid;
555 }
556 
557 void
559 {
560  m_cid = cid;
561 }
562 
563 Cid
564 DsaReq::GetCid (void) const
565 {
566  return m_cid;
567 }
568 
569 
570 std::string
571 DsaReq::GetName (void) const
572 {
573  return "DSA-REQ";
574 }
575 
576 TypeId
578 {
579  static TypeId tid = TypeId ("ns3::DsaReq")
580  .SetParent<Header> ()
581  .SetGroupName("Wimax")
582  .AddConstructor<DsaReq> ()
583  ;
584  return tid;
585 }
586 
587 TypeId
589 {
590  return GetTypeId ();
591 }
592 
593 void
594 DsaReq::Print (std::ostream &os) const
595 {
596  os << " transaction id = " << (uint32_t) m_transactionId << ", m_sfid = " << m_sfid << ", cid = " << m_cid;
597 }
598 
599 uint32_t
601 {
602  Tlv t = m_serviceFlow.ToTlv ();
603  uint32_t size = 2 + t.GetSerializedSize ();
604  return size;
605 }
606 
607 void
609 {
612  Tlv t = m_serviceFlow.ToTlv ();
613  t.Serialize (i);
614 }
615 
616 uint32_t
618 {
620  m_transactionId = i.ReadU16 ();
621  Tlv tlv;
622  uint32_t size = tlv.Deserialize (i);
623  m_serviceFlow = ServiceFlow (tlv);
624  return size + 2;
625 }
626 
629 {
630  return m_serviceFlow;
631 }
632 
633 void
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 
655 void
656 DsaRsp::SetTransactionId (uint16_t transactionId)
657 {
658  m_transactionId = transactionId;
659 }
660 
661 uint16_t
663 {
664  return m_transactionId;
665 }
666 
669 {
670  return m_serviceFlow;
671 }
672 
673 void
675 {
676  m_serviceFlow = sf;
677 }
678 
679 void
680 DsaRsp::SetConfirmationCode (uint16_t confirmationCode)
681 {
682  m_confirmationCode = confirmationCode;
683 }
684 
685 uint16_t
687 {
688  return m_confirmationCode;
689 }
690 
691 void
692 DsaRsp::SetSfid (uint32_t sfid)
693 {
694  m_sfid = sfid;
695 }
696 
697 uint32_t
698 DsaRsp::GetSfid (void) const
699 {
700  return m_sfid;
701 }
702 
703 void
705 {
706  m_cid = cid;
707 }
708 
709 Cid
710 DsaRsp::GetCid (void) const
711 {
712  return m_cid;
713 }
714 
715 std::string
716 DsaRsp::GetName (void) const
717 {
718  return "DSA-RSP";
719 }
720 
721 TypeId
723 {
724  static TypeId tid = TypeId ("ns3::DsaRsp")
725  .SetParent<Header> ()
726  .SetGroupName("Wimax")
727  .AddConstructor<DsaRsp> ()
728  ;
729  return tid;
730 }
731 
732 TypeId
734 {
735  return GetTypeId ();
736 }
737 
738 void
739 DsaRsp::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 
745 uint32_t
747 {
748  return 2 + 1 + m_serviceFlow.ToTlv ().GetSerializedSize ();
749 }
750 
751 
752 void
754 {
756 
760 }
761 
762 uint32_t
764 {
766 
767  m_transactionId = i.ReadU16 ();
768  m_confirmationCode = i.ReadU8 ();
769  Tlv tlv;
770  uint32_t size = tlv.Deserialize (i);
771  m_serviceFlow = ServiceFlow (tlv);
772  return size + 3;
773 }
774 
775 // ---------------------------------------------------------------------
776 
778 
780  : m_transactionId (0),
781  m_confirmationCode (0)
782 {
783 }
784 
786 {
787 }
788 
789 void
790 DsaAck::SetTransactionId (uint16_t transactionId)
791 {
792  m_transactionId = transactionId;
793 }
794 
795 uint16_t
797 {
798  return m_transactionId;
799 }
800 
801 void
802 DsaAck::SetConfirmationCode (uint16_t confirmationCode)
803 {
804  m_confirmationCode = confirmationCode;
805 }
806 
807 uint16_t
809 {
810  return m_confirmationCode;
811 }
812 
813 std::string
814 DsaAck::GetName (void) const
815 {
816  return "DSA-ACK";
817 }
818 
819 TypeId
821 {
822  static TypeId tid = TypeId ("ns3::DsaAck")
823  .SetParent<Header> ()
824  .SetGroupName("Wimax")
825  .AddConstructor<DsaAck> ()
826  ;
827  return tid;
828 }
829 
830 TypeId
832 {
833  return GetTypeId ();
834 }
835 
836 void
837 DsaAck::Print (std::ostream &os) const
838 {
839  os << " transaction id = " << (uint32_t) m_transactionId << ", confirmation code = " << (uint32_t) m_confirmationCode;
840 }
841 
842 uint32_t
844 {
845  return 2 + 1;
846 }
847 
848 void
850 {
854 }
855 
856 uint32_t
858 {
860  m_transactionId = i.ReadU16 ();
861  m_confirmationCode = i.ReadU8 ();
862 
863  return i.GetDistanceFrom (start);
864 }
865 
866 } // namespace ns3
uint16_t ReadU16(void)
Definition: buffer.h:1028
Protocol header serialization and deserialization.
Definition: header.h:42
uint32_t GetSerializedSize(void) const
Introspection did not find any typical Config paths.
Definition: mac-messages.h:344
void SetMacAddress(Mac48Address macAddress)
Mac48Address m_macAddress
Definition: mac-messages.h:227
static TypeId GetTypeId(void)
uint8_t GetRangingAnomalies(void) const
uint32_t ReadU32(void)
Definition: buffer.cc:972
Cid GetCid(void) const
void SetReqDlBurstProfile(uint8_t reqDlBurstProfile)
void Print(std::ostream &os) const
void SetPowerLevelAdjust(uint8_t powerLevelAdjust)
set the relative change in transmission power level that the SS should make in order that transmissio...
Introspection did not find any typical Config paths.
Definition: mac-messages.h:430
uint8_t GetRangSubchnl(void) const
void SetServiceFlow(ServiceFlow sf)
specify a service flow to be requested by this message
Introspection did not find any typical Config paths.
Definition: mac-messages.h:97
uint8_t m_reserved
Definition: mac-messages.h:196
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Definition: object-base.h:44
uint8_t m_confirmationCode
Definition: mac-messages.h:457
Introspection did not find any typical Config paths.
Definition: mac-messages.h:41
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
uint8_t GetReqDlBurstProfile(void) const
void SetMacAddress(Mac48Address macAddress)
void SetServiceFlow(ServiceFlow sf)
specify a service flow to be requested by this message
uint16_t m_transactionId
Definition: mac-messages.h:456
Mac48Address m_macAddress
Definition: mac-messages.h:509
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition: mac-messages.cc:80
ServiceFlow GetServiceFlow(void) const
ServiceFlow m_serviceFlow
Definition: mac-messages.h:325
void ReadFrom(Buffer::Iterator &i, Ipv4Address &ad)
Read an Ipv4Address from a Buffer.
def start()
Definition: core.py:1482
uint32_t GetSfid(void) const
uint16_t GetConfirmationCode(void) const
Introspection did not find any typical Config paths.
Definition: mac-messages.h:476
virtual uint32_t Deserialize(Buffer::Iterator start)
Definition: wimax-tlv.cc:147
ServiceFlow GetServiceFlow(void) const
void WriteTo(Buffer::Iterator &i, Ipv4Address ad)
Write an Ipv4Address to a Buffer.
std::string GetName(void) const
Definition: mac-messages.cc:62
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Definition: log.h:201
Mac48Address GetMacAddress(void) const
uint8_t m_confirmationCode
Definition: mac-messages.h:407
uint32_t GetSfid(void) const
virtual ~RngReq(void)
Cid GetCid(void) const
uint8_t m_powerLevelAdjust
Definition: mac-messages.h:208
std::string GetName(void) const
uint32_t GetDlFreqOverride(void) const
uint32_t GetSerializedSize(void) const
void SetDlOperBurstProfile(uint16_t dlOperBurstProfile)
uint32_t Deserialize(Buffer::Iterator start)
uint8_t GetType(void) const
Definition: mac-messages.cc:56
uint8_t GetInitRangOppNumber(void) const
This class implements the Type-Len-Value structure channel encodings as described by "IEEE Standard f...
Definition: wimax-tlv.h:64
uint8_t m_reserved
Definition: mac-messages.h:505
uint32_t Deserialize(Buffer::Iterator start)
uint32_t GetDistanceFrom(Iterator const &o) const
Definition: buffer.cc:783
uint32_t GetTimingAdjust(void) const
DsaReq()
This class implements the ranging request message described by "IEEE Standard for Local and metropo...
iterator in a Buffer instance
Definition: buffer.h:98
uint32_t m_sfid
Definition: mac-messages.h:323
uint16_t GetConfirmationCode(void) const
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
uint16_t m_transactionId
Definition: mac-messages.h:321
static TypeId GetTypeId(void)
virtual void Serialize(Buffer::Iterator start) const
Definition: wimax-tlv.cc:127
void SetTransactionId(uint16_t transactionId)
void SetRangStatus(uint8_t rangStatus)
std::string GetName(void) const
uint8_t m_initRangOppNumber
Definition: mac-messages.h:238
void Serialize(Buffer::Iterator start) const
void SetAasBdcastPermission(uint8_t aasBdcastPermission)
uint8_t m_rangingAnomalies
Definition: mac-messages.h:510
uint32_t Deserialize(Buffer::Iterator start)
uint16_t GetDlOperBurstProfile(void) const
void WriteU16(uint16_t data)
Definition: buffer.cc:870
uint32_t Deserialize(Buffer::Iterator start)
uint32_t Deserialize(Buffer::Iterator start)
Cid GetBasicCid(void) const
void SetTimingAdjust(uint32_t timingAdjust)
set the Tx timing offset adjustment (signed 32-bit).
void Print(std::ostream &os) const
virtual ~RngRsp(void)
void PrintDebug(void) const
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
uint32_t m_timingAdjust
Definition: mac-messages.h:202
uint32_t m_frameNumber
Definition: mac-messages.h:234
uint32_t GetSerializedSize(void) const
void Print(std::ostream &os) const
void SetUlChnlIdOverride(uint8_t ulChnlIdOverride)
set the identifier of the uplink channel with which the SS is to redo initial ranging ...
static TypeId GetTypeId(void)
uint8_t m_rangSubchnl
Definition: mac-messages.h:242
void SetCid(Cid cid)
set the connection identifier
uint8_t GetRangStatus(void) const
uint8_t m_rangStatus
Definition: mac-messages.h:213
uint8_t GetAasBdcastPermission(void) const
Every class exported by the ns3 library is enclosed in the ns3 namespace.
uint32_t GetFrameNumber(void) const
void Serialize(Buffer::Iterator start) const
uint16_t m_dlOperBurstProfile
Definition: mac-messages.h:225
Definition: cid.h:35
void SetDlFreqOverride(uint32_t dlFreqOverride)
set the Center frequency, in kHz, of new downlink channel where the SS should redo initial ranging...
static TypeId GetTypeId(void)
Definition: mac-messages.cc:68
virtual uint32_t GetSerializedSize(void) const
Definition: wimax-tlv.cc:103
Mac48Address GetMacAddress(void) const
void Serialize(Buffer::Iterator start) const
an EUI-48 address
Definition: mac48-address.h:43
This class implements service flows as described by the IEEE-802.16 standard.
Definition: service-flow.h:39
void SetInitRangOppNumber(uint8_t initRangOppNumber)
std::string GetName(void) const
virtual ~ManagementMessageType(void)
Definition: mac-messages.cc:45
void SetOffsetFreqAdjust(uint32_t offsetFreqAdjust)
set the relative change in transmission frequency that the SS should take in order to better match th...
void SetTransactionId(uint16_t transactionId)
void SetConfirmationCode(uint16_t confirmationCode)
uint8_t GetPowerLevelAdjust(void) const
void Print(std::ostream &os) const
uint8_t m_aasBdcastPermission
Definition: mac-messages.h:230
void Print(std::ostream &os) const
uint32_t m_sfid
Definition: mac-messages.h:410
uint32_t GetSerializedSize(void) const
Definition: mac-messages.cc:92
std::string GetName(void) const
uint16_t m_transactionId
Definition: mac-messages.h:406
void SetRangSubchnl(uint8_t rangSubchnl)
RngReq(void)
This class implements the DSA-REQ message described by "IEEE Standard for Local and metropolitan area...
void SetFrameNumber(uint32_t frameNumber)
void SetSfid(uint32_t sfid)
set the service flow identifier
void SetTransactionId(uint16_t transactionId)
void WriteU8(uint8_t data)
Definition: buffer.h:868
void SetPrimaryCid(Cid primaryCid)
uint8_t m_ulChnlIdOverride
Definition: mac-messages.h:220
void SetBasicCid(Cid basicCid)
uint16_t GetTransactionId(void) const
uint32_t GetSerializedSize(void) const
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG.
Definition: log.h:236
uint8_t m_reqDlBurstProfile
Definition: mac-messages.h:508
uint16_t GetTransactionId(void) const
static TypeId GetTypeId(void)
uint32_t GetSerializedSize(void) const
uint8_t ReadU8(void)
Definition: buffer.h:1020
Cid GetPrimaryCid(void) const
void SetSfid(uint32_t sfid)
set the service flow identifier
uint32_t GetOffsetFreqAdjust(void) const
uint8_t GetUlChnlIdOverride(void) const
uint32_t Deserialize(Buffer::Iterator start)
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
void SetType(uint8_t type)
Definition: mac-messages.cc:50
static TypeId GetTypeId(void)
uint16_t GetIdentifier(void) const
Definition: cid.cc:45
uint32_t m_dlFreqOverride
Definition: mac-messages.h:216
Tlv ToTlv(void) const
creates a TLV from this service flow
DsaRsp(void)
This class implements the DSA-RSP message described by "IEEE Standard for Local and metropolitan ar...
void SetCid(Cid cid)
set the connection identifier
RngRsp(void)
This class implements the ranging response message described by "IEEE Standard for Local and metropol...
Introspection did not find any typical Config paths.
Definition: mac-messages.h:262
void WriteU32(uint32_t data)
Definition: buffer.cc:878
void Serialize(Buffer::Iterator start) const
uint32_t m_offsetFreqAdjust
Definition: mac-messages.h:212
a unique identifier for an interface.
Definition: type-id.h:58
ServiceFlow m_serviceFlow
Definition: mac-messages.h:409
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Definition: type-id.cc:904
std::string GetName(void) const
void Serialize(Buffer::Iterator start) const
Definition: mac-messages.cc:98
uint16_t GetTransactionId(void) const
void Print(std::ostream &os) const
Definition: mac-messages.cc:86
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
void SetRangingAnomalies(uint8_t rangingAnomalies)
void SetConfirmationCode(uint16_t confirmationCode)
DsaAck(void)
This class implements the DSA-ACK message described by "IEEE Standard for Local and metropolitan area...
void Serialize(Buffer::Iterator start) const