A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 NS_LOG_COMPONENT_DEFINE ("MACMESSAGES");
30 
31 namespace ns3 {
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").SetParent<Header> ().AddConstructor<ManagementMessageType> ();
72  return tid;
73 }
74 
75 TypeId
77 {
78  return GetTypeId ();
79 }
80 
81 void
82 ManagementMessageType::Print (std::ostream &os) const
83 {
84  os << " management message type = " << (uint32_t) m_type;
85 }
86 
87 uint32_t
89 {
90  return 1;
91 }
92 
93 void
95 {
97  i.WriteU8 (m_type);
98 }
99 
100 uint32_t
102 {
104  m_type = i.ReadU8 ();
105  return i.GetDistanceFrom (start);
106 }
107 
108 // ---------------------------------------------------------------------
109 
111 
113  : m_reserved (0),
114  m_reqDlBurstProfile (0),
115  m_macAddress (Mac48Address ("00:00:00:00:00:00")),
116  m_rangingAnomalies (0)
117 {
118 }
119 
121 {
122 }
123 
124 void
125 RngReq::SetReqDlBurstProfile (uint8_t reqDlBurstProfile)
126 {
127  m_reqDlBurstProfile = reqDlBurstProfile;
128 }
129 
130 void
132 {
133  m_macAddress = macAddress;
134 }
135 
136 void
137 RngReq::SetRangingAnomalies (uint8_t rangingAnomalies)
138 {
139  m_rangingAnomalies = rangingAnomalies;
140 }
141 
142 uint8_t
144 {
145  return m_reqDlBurstProfile;
146 }
147 
150 {
151  return m_macAddress;
152 }
153 
154 uint8_t
156 {
157  return m_rangingAnomalies;
158 }
159 
160 std::string
161 RngReq::GetName (void) const
162 {
163  return "RNG-REQ";
164 }
165 
166 TypeId
168 {
169  static TypeId tid = TypeId ("ns3::RngReq").SetParent<Header> ().AddConstructor<RngReq> ();
170  return tid;
171 }
172 
173 TypeId
175 {
176  return GetTypeId ();
177 }
178 
179 void
180 RngReq::Print (std::ostream &os) const
181 {
182  os << " requested dl burst profile = " << (uint32_t) m_reqDlBurstProfile << ", mac address = " << m_macAddress
183  << ", ranging anomalies = " << (uint32_t) m_rangingAnomalies;
184 }
185 
186 void
187 RngReq::PrintDebug (void) const
188 {
189  NS_LOG_DEBUG (" requested dl burst profile = " << (uint32_t) m_reqDlBurstProfile << ", mac address = "
190  << m_macAddress << ", ranging anomalies = "
191  << (uint32_t) m_rangingAnomalies);
192 }
193 
194 uint32_t
196 {
197  return 1 + 1 + 6 + 1;
198 }
199 
200 void
202 {
204  i.WriteU8 (m_reserved);
206  WriteTo (i, m_macAddress);
208 }
209 
210 uint32_t
212 {
214  m_reserved = i.ReadU8 ();
216  ReadFrom (i, m_macAddress);
217  m_rangingAnomalies = i.ReadU8 ();
218 
219  return i.GetDistanceFrom (start);
220 }
221 
222 // ---------------------------------------------------------------------
223 
225 
227  : m_reserved (0),
228  m_timingAdjust (0),
229  m_powerLevelAdjust (0),
230  m_offsetFreqAdjust (0),
231  m_rangStatus (0),
232  m_dlFreqOverride (0),
233  m_ulChnlIdOverride (0),
234  m_dlOperBurstProfile (0),
235  m_macAddress (Mac48Address ("00:00:00:00:00:00")),
236  m_basicCid (),
237  m_primaryCid (),
238  m_aasBdcastPermission (0),
239  m_frameNumber (0),
240  m_initRangOppNumber (0),
241  m_rangSubchnl (0)
242 {
243 }
244 
246 {
247 }
248 
249 void
250 RngRsp::SetTimingAdjust (uint32_t timingAdjust)
251 {
252  m_timingAdjust = timingAdjust;
253 }
254 
255 void
256 RngRsp::SetPowerLevelAdjust (uint8_t powerLevelAdjust)
257 {
258  m_powerLevelAdjust = powerLevelAdjust;
259 }
260 
261 void
262 RngRsp::SetOffsetFreqAdjust (uint32_t offsetFreqAdjust)
263 {
264  m_offsetFreqAdjust = offsetFreqAdjust;
265 }
266 
267 void
268 RngRsp::SetRangStatus (uint8_t rangStatus)
269 {
270  m_rangStatus = rangStatus;
271 }
272 
273 void
274 RngRsp::SetDlFreqOverride (uint32_t dlFreqOverride)
275 {
276  m_dlFreqOverride = dlFreqOverride;
277 }
278 
279 void
280 RngRsp::SetUlChnlIdOverride (uint8_t ulChnlIdOverride)
281 {
282  m_ulChnlIdOverride = ulChnlIdOverride;
283 }
284 
285 void
286 RngRsp::SetDlOperBurstProfile (uint16_t dlOperBurstProfile)
287 {
288  m_dlOperBurstProfile = dlOperBurstProfile;
289 }
290 
291 void
293 {
294  m_macAddress = macAddress;
295 }
296 
297 void
299 {
300  m_basicCid = basicCid;
301 }
302 
303 void
305 {
306  m_primaryCid = primaryCid;
307 }
308 
309 void
310 RngRsp::SetAasBdcastPermission (uint8_t aasBdcastPermission)
311 {
312  m_aasBdcastPermission = aasBdcastPermission;
313 }
314 
315 void
316 RngRsp::SetFrameNumber (uint32_t frameNumber)
317 {
318  m_frameNumber = frameNumber;
319 }
320 
321 void
322 RngRsp::SetInitRangOppNumber (uint8_t initRangOppNumber)
323 {
324  m_initRangOppNumber = initRangOppNumber;
325 }
326 
327 void
328 RngRsp::SetRangSubchnl (uint8_t rangSubchnl)
329 {
330  m_rangSubchnl = rangSubchnl;
331 }
332 
333 uint32_t
335 {
336  return m_timingAdjust;
337 }
338 
339 uint8_t
341 {
342  return m_powerLevelAdjust;
343 }
344 
345 uint32_t
347 {
348  return m_offsetFreqAdjust;
349 }
350 
351 uint8_t
353 {
354  return m_rangStatus;
355 }
356 
357 uint32_t
359 {
360  return m_dlFreqOverride;
361 }
362 
363 uint8_t
365 {
366  return m_ulChnlIdOverride;
367 }
368 
369 uint16_t
371 {
372  return m_dlOperBurstProfile;
373 }
374 
377 {
378  return m_macAddress;
379 }
380 
381 Cid
383 {
384  return m_basicCid;
385 }
386 
387 Cid
389 {
390  return m_primaryCid;
391 }
392 
393 uint8_t
395 {
396  return m_aasBdcastPermission;
397 }
398 
399 uint32_t
401 {
402  return m_frameNumber;
403 }
404 
405 uint8_t
407 {
408  return m_initRangOppNumber;
409 }
410 
411 uint8_t
413 {
414  return m_rangSubchnl;
415 }
416 
417 std::string
418 RngRsp::GetName (void) const
419 {
420  return "RNG-RSP";
421 }
422 
423 TypeId
425 {
426  static TypeId tid = TypeId ("ns3::RngRsp").SetParent<Header> ().AddConstructor<RngRsp> ();
427  return tid;
428 }
429 
430 TypeId
432 {
433  return GetTypeId ();
434 }
435 
436 void
437 RngRsp::Print (std::ostream &os) const
438 {
439  os << " timing adjust = " << m_timingAdjust << ", power level adjust = " << (uint32_t) m_powerLevelAdjust
440  << ", offset freq adjust = " << m_offsetFreqAdjust << ", ranging status = " << (uint32_t) m_rangStatus
441  << ", dl freq override = " << m_dlFreqOverride << ", ul channel id override = " << (uint32_t) m_ulChnlIdOverride
442  << ", dl operational burst profile = " << (uint32_t) m_dlOperBurstProfile << ", mac address = " << m_macAddress
443  << ", basic cid = " << m_basicCid << ", primary management cid = " << m_primaryCid
444  << ", aas broadcast permission = " << (uint32_t) m_aasBdcastPermission << ", frame number = " << m_frameNumber
445  << ", initial ranging opportunity number = " << (uint32_t) m_initRangOppNumber << ", ranging subchannel = "
446  << (uint32_t) m_rangSubchnl;
447 }
448 
449 uint32_t
451 {
452  return 1 + 4 + 1 + 4 + 1 + 4 + 1 + 2 + 6 + 2 + 2 + 1 + 4 + 1 + 1;
453 }
454 
455 void
457 {
459  i.WriteU8 (m_reserved);
463  i.WriteU8 (m_rangStatus);
467  WriteTo (i, m_macAddress);
474 }
475 
476 uint32_t
478 {
480  m_reserved = i.ReadU8 ();
481  m_timingAdjust = i.ReadU32 ();
482  m_powerLevelAdjust = i.ReadU8 ();
484  m_rangStatus = i.ReadU8 ();
485  m_dlFreqOverride = i.ReadU32 ();
486  m_ulChnlIdOverride = i.ReadU8 ();
488  ReadFrom (i, m_macAddress); // length (6) shall also be written in packet instead of hard coded, see ARP example
489  m_basicCid = i.ReadU16 ();
490  m_primaryCid = i.ReadU16 ();
492  m_frameNumber = i.ReadU32 ();
494  m_rangSubchnl = i.ReadU8 ();
495 
496  return i.GetDistanceFrom (start);
497 }
498 
499 // ---------------------------------------------------------------------
500 
502 
504  : m_transactionId (0),
505  m_sfid (0),
506  m_cid (),
507  m_serviceFlow (ServiceFlow::SF_DIRECTION_DOWN)
508 {
509 }
510 
512 {
513  m_transactionId = 0;
514  m_serviceFlow = sf;
515 }
516 
518 {
519 }
520 
521 void
522 DsaReq::SetTransactionId (uint16_t transactionId)
523 {
524  m_transactionId = transactionId;
525 }
526 
527 uint16_t
529 {
530  return m_transactionId;
531 }
532 
533 void
534 DsaReq::SetSfid (uint32_t sfid)
535 {
536  m_sfid = sfid;
537 }
538 
539 uint32_t
540 DsaReq::GetSfid (void) const
541 {
542  return m_sfid;
543 }
544 
545 void
547 {
548  m_cid = cid;
549 }
550 
551 Cid
552 DsaReq::GetCid (void) const
553 {
554  return m_cid;
555 }
556 
557 
558 std::string
559 DsaReq::GetName (void) const
560 {
561  return "DSA-REQ";
562 }
563 
564 TypeId
566 {
567  static TypeId tid = TypeId ("ns3::DsaReq").SetParent<Header> ().AddConstructor<DsaReq> ();
568  return tid;
569 }
570 
571 TypeId
573 {
574  return GetTypeId ();
575 }
576 
577 void
578 DsaReq::Print (std::ostream &os) const
579 {
580  os << " transaction id = " << (uint32_t) m_transactionId << ", m_sfid = " << m_sfid << ", cid = " << m_cid;
581 }
582 
583 uint32_t
585 {
586  Tlv t = m_serviceFlow.ToTlv ();
587  uint32_t size = 2 + t.GetSerializedSize ();
588  return size;
589 }
590 
591 void
593 {
596  Tlv t = m_serviceFlow.ToTlv ();
597  t.Serialize (i);
598 }
599 
600 uint32_t
602 {
604  m_transactionId = i.ReadU16 ();
605  Tlv tlv;
606  uint32_t size = tlv.Deserialize (i);
607  m_serviceFlow = ServiceFlow (tlv);
608  return size + 2;
609 }
610 
613 {
614  return m_serviceFlow;
615 }
616 
617 void
619 {
620  m_serviceFlow = sf;
621 }
622 
623 // ---------------------------------------------------------------------
624 
626 
628  : m_transactionId (0),
629  m_confirmationCode (0),
630  m_sfid (0),
631  m_cid ()
632 {
633 }
634 
636 {
637 }
638 
639 void
640 DsaRsp::SetTransactionId (uint16_t transactionId)
641 {
642  m_transactionId = transactionId;
643 }
644 
645 uint16_t
647 {
648  return m_transactionId;
649 }
650 
653 {
654  return m_serviceFlow;
655 }
656 
657 void
659 {
660  m_serviceFlow = sf;
661 }
662 
663 void
664 DsaRsp::SetConfirmationCode (uint16_t confirmationCode)
665 {
666  m_confirmationCode = confirmationCode;
667 }
668 
669 uint16_t
671 {
672  return m_confirmationCode;
673 }
674 
675 void
676 DsaRsp::SetSfid (uint32_t sfid)
677 {
678  m_sfid = sfid;
679 }
680 
681 uint32_t
682 DsaRsp::GetSfid (void) const
683 {
684  return m_sfid;
685 }
686 
687 void
689 {
690  m_cid = cid;
691 }
692 
693 Cid
694 DsaRsp::GetCid (void) const
695 {
696  return m_cid;
697 }
698 
699 std::string
700 DsaRsp::GetName (void) const
701 {
702  return "DSA-RSP";
703 }
704 
705 TypeId
707 {
708  static TypeId tid = TypeId ("ns3::DsaRsp").SetParent<Header> ().AddConstructor<DsaRsp> ();
709  return tid;
710 }
711 
712 TypeId
714 {
715  return GetTypeId ();
716 }
717 
718 void
719 DsaRsp::Print (std::ostream &os) const
720 {
721  os << " transaction id = " << (uint32_t) m_transactionId << ", confirmation code = " << (uint32_t) m_confirmationCode
722  << ", m_sfid = " << m_sfid << ", cid = " << m_cid;
723 }
724 
725 uint32_t
727 {
728  return 2 + 1 + m_serviceFlow.ToTlv ().GetSerializedSize ();
729 }
730 
731 
732 void
734 {
736 
740 }
741 
742 uint32_t
744 {
746 
747  m_transactionId = i.ReadU16 ();
748  m_confirmationCode = i.ReadU8 ();
749  Tlv tlv;
750  uint32_t size = tlv.Deserialize (i);
751  m_serviceFlow = ServiceFlow (tlv);
752  return size + 3;
753 }
754 
755 // ---------------------------------------------------------------------
756 
758 
760  : m_transactionId (0),
761  m_confirmationCode (0)
762 {
763 }
764 
766 {
767 }
768 
769 void
770 DsaAck::SetTransactionId (uint16_t transactionId)
771 {
772  m_transactionId = transactionId;
773 }
774 
775 uint16_t
777 {
778  return m_transactionId;
779 }
780 
781 void
782 DsaAck::SetConfirmationCode (uint16_t confirmationCode)
783 {
784  m_confirmationCode = confirmationCode;
785 }
786 
787 uint16_t
789 {
790  return m_confirmationCode;
791 }
792 
793 std::string
794 DsaAck::GetName (void) const
795 {
796  return "DSA-ACK";
797 }
798 
799 TypeId
801 {
802  static TypeId tid = TypeId ("ns3::DsaAck").SetParent<Header> ().AddConstructor<DsaAck> ();
803  return tid;
804 }
805 
806 TypeId
808 {
809  return GetTypeId ();
810 }
811 
812 void
813 DsaAck::Print (std::ostream &os) const
814 {
815  os << " transaction id = " << (uint32_t) m_transactionId << ", confirmation code = " << (uint32_t) m_confirmationCode;
816 }
817 
818 uint32_t
820 {
821  return 2 + 1;
822 }
823 
824 void
826 {
830 }
831 
832 uint32_t
834 {
836  m_transactionId = i.ReadU16 ();
837  m_confirmationCode = i.ReadU8 ();
838 
839  return i.GetDistanceFrom (start);
840 }
841 
842 } // namespace ns3
uint16_t ReadU16(void)
Definition: buffer.h:1036
Protocol header serialization and deserialization.
Definition: header.h:42
uint32_t GetSerializedSize(void) const
Doxygen 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:1001
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...
Doxygen 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
Doxygen 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 the class in the ns-3 factory.
Definition: object-base.h:38
uint8_t m_confirmationCode
Definition: mac-messages.h:457
virtual TypeId GetInstanceTypeId(void) const
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
Definition: mac-messages.cc:76
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.
uint32_t GetSfid(void) const
uint16_t GetConfirmationCode(void) const
Doxygen introspection did not find any typical Config paths.
Definition: mac-messages.h:476
virtual uint32_t Deserialize(Buffer::Iterator start)
Definition: wimax-tlv.cc:135
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:170
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:811
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
uint16_t m_transactionId
Definition: mac-messages.h:321
static TypeId GetTypeId(void)
virtual void Serialize(Buffer::Iterator start) const
Definition: wimax-tlv.cc:115
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:899
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
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
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:91
Mac48Address GetMacAddress(void) const
void Serialize(Buffer::Iterator start) const
an EUI-48 address
Definition: mac48-address.h:41
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:88
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:876
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:213
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:1028
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
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...
Doxygen introspection did not find any typical Config paths.
Definition: mac-messages.h:262
void WriteU32(uint32_t data)
Definition: buffer.cc:907
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:49
ServiceFlow m_serviceFlow
Definition: mac-messages.h:409
TypeId SetParent(TypeId tid)
Definition: type-id.cc:610
std::string GetName(void) const
void Serialize(Buffer::Iterator start) const
Definition: mac-messages.cc:94
uint16_t GetTransactionId(void) const
void Print(std::ostream &os) const
Definition: mac-messages.cc:82
virtual TypeId GetInstanceTypeId(void) const
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