A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
mac-messages.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2007,2008,2009 INRIA, UDcast
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation;
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 *
17 * Authors: Jahanzeb Farooq <jahanzeb.farooq@sophia.inria.fr>
18 * Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
19 * <amine.ismail@UDcast.com>
20 */
21
22/*
23 *This file does not contain all MAC messages, the rest of MAC messages have
24 *This been categorized as DL and UL messages and are placed in
25 *This dl-mac-messages.h and ul-mac-messages.h files.
26 */
27
28#ifndef MANAGEMENT_MESSAGE_TYPE_H
29#define MANAGEMENT_MESSAGE_TYPE_H
30
31#include "ns3/header.h"
32
33#include <stdint.h>
34
35namespace ns3
36{
37
38/**
39 * \ingroup wimax
40 * Mac Management messages
41 * Section 6.3.2.3 MAC Management messages page 42, Table 14 page 43
42 */
44{
45 public:
46 /// Message type enumeration
48 {
60 };
61
63 /**
64 * Constructor
65 *
66 * \param type message type
67 */
68 ManagementMessageType(uint8_t type);
69 ~ManagementMessageType() override;
70 /**
71 * Set type field
72 * \param type the type
73 */
74 void SetType(uint8_t type);
75 /**
76 * Get type field
77 * \returns the type value
78 */
79 uint8_t GetType() const;
80
81 /** \returns the name field */
82 std::string GetName() const;
83 /**
84 * \brief Get the type ID.
85 * \return the object TypeId
86 */
87 static TypeId GetTypeId();
88 TypeId GetInstanceTypeId() const override;
89 void Print(std::ostream& os) const override;
90 uint32_t GetSerializedSize() const override;
91 void Serialize(Buffer::Iterator start) const override;
93
94 private:
95 uint8_t m_type; ///< type
96};
97
98} // namespace ns3
99
100#endif /* MANAGEMENT_MESSAGE_TYPE_H */
101
102// ---------------------------------------------------------------------
103
104#ifndef RNG_RSP_H
105#define RNG_RSP_H
106
107#include "cid.h"
108#include "service-flow.h"
109
110#include "ns3/header.h"
111#include "ns3/mac48-address.h"
112
113#include <stdint.h>
114
115namespace ns3
116{
117
118/**
119 * \ingroup wimax
120 * This class implements the ranging response message described by "IEEE Standard for
121 * Local and metropolitan area networks Part 16: Air Interface for Fixed Broadband Wireless Access
122 * Systems" 6.3.2.3.6 Ranging response (RNG-RSP) message, page 50
123 */
124class RngRsp : public Header
125{
126 public:
127 RngRsp();
128 ~RngRsp() override;
129 /**
130 * \brief set the Tx timing offset adjustment (signed 32-bit).
131 * \param timingAdjust The time required to advance SS transmission so frames
132 * arrive at the expected time instance at the BS.
133 */
134 void SetTimingAdjust(uint32_t timingAdjust);
135 /**
136 * \brief set the relative change in transmission power level that the SS should make in order
137 * that transmissions arrive at the BS at the desired power. When subchannelization is employed,
138 * the subscriber shall interpret the power offset adjustment as a required change to the
139 * transmitted power density.
140 * \param powerLevelAdjust the relative change in transmission power level
141 */
142 void SetPowerLevelAdjust(uint8_t powerLevelAdjust);
143 /**
144 * \brief set the relative change in transmission frequency that the SS should take in order to
145 * better match the BS. This is fine-frequency adjustment within a channel, not reassignment to
146 * a different channel
147 * \param offsetFreqAdjust Offset frequency adjustment
148 */
149 void SetOffsetFreqAdjust(uint32_t offsetFreqAdjust);
150 /**
151 * \brief set the range status.
152 * \param rangStatus Range status
153 */
154 void SetRangStatus(uint8_t rangStatus);
155 /**
156 * \brief set the Center frequency, in kHz, of new downlink channel where the SS should redo
157 * initial ranging.
158 * \param dlFreqOverride the Center frequency in kHz
159 */
160 void SetDlFreqOverride(uint32_t dlFreqOverride);
161 /**
162 * \brief set the identifier of the uplink channel with which the SS is to redo initial ranging
163 * \param ulChnlIdOverride the uplink channel index
164 */
165 void SetUlChnlIdOverride(uint8_t ulChnlIdOverride);
166 /**
167 * \brief set the DL oper burst profile
168 * \param dlOperBurstProfile the oper burt profile
169 */
170 void SetDlOperBurstProfile(uint16_t dlOperBurstProfile);
171 /**
172 * \brief set the MAC address
173 * \param macAddress the MAC address
174 */
175 void SetMacAddress(Mac48Address macAddress);
176
177 /**
178 * \brief set basic CID.
179 * \param basicCid Basic CID
180 */
181 void SetBasicCid(Cid basicCid);
182 /**
183 * \brief set primary CID.
184 * \param primaryCid Primary CID
185 */
186 void SetPrimaryCid(Cid primaryCid);
187
188 /**
189 * \brief set AAS broadcast permission.
190 * \param aasBdcastPermission AAS broadcast permission
191 */
192 void SetAasBdcastPermission(uint8_t aasBdcastPermission);
193 /**
194 * \brief set frame number.
195 * \param frameNumber Frame number
196 */
197 void SetFrameNumber(uint32_t frameNumber);
198 /**
199 * \brief set initial range opp number.
200 * \param initRangOppNumber Initial range opp number
201 */
202 void SetInitRangOppNumber(uint8_t initRangOppNumber);
203 /**
204 * \brief set range sub channel.
205 * \param rangSubchnl Range subchannel
206 */
207 void SetRangSubchnl(uint8_t rangSubchnl);
208 /**
209 * \return Tx timing offset adjustment (signed 32-bit). The time required to advance SS
210 * transmission so frames arrive at the expected time instance at the BS.
211 */
213 /**
214 * \return the relative change in transmission power level that the SS should take in order
215 * that transmissions arrive at the BS at the desired power. When subchannelization is employed,
216 * the subscriber shall interpret the power offset adjustment as a required change to the
217 * transmitted power density.
218 */
219 uint8_t GetPowerLevelAdjust() const;
220 /**
221 * \return the relative change in transmission frequency that the SS should take in order to
222 * better match the BS. This is fine-frequency adjustment within a channel, not reassignment to
223 * a different channel.
224 */
226 /**
227 * \return the range status.
228 */
229 uint8_t GetRangStatus() const;
230 /**
231 * \return Center frequency, in kHz, of new downlink channel where the SS should redo initial
232 * ranging.
233 */
235 /**
236 * \return The identifier of the uplink channel with which the SS is to redo initial ranging
237 */
238 uint8_t GetUlChnlIdOverride() const;
239 /**
240 * \return DlOperBurstProfile: This parameter is sent in response to the RNG-REQ Requested
241 * Downlink Burst Profile parameter
242 */
243 uint16_t GetDlOperBurstProfile() const;
244 /**
245 * \return MAC address
246 */
248 /**
249 * \return basic CID
250 */
251 Cid GetBasicCid() const;
252 /**
253 * \return primary CID
254 */
255 Cid GetPrimaryCid() const;
256 /**
257 * \return AAS broadcast permission
258 */
259 uint8_t GetAasBdcastPermission() const;
260 /**
261 * \return frame number
262 */
263 uint32_t GetFrameNumber() const;
264 /**
265 * \return initial range opp number
266 */
267 uint8_t GetInitRangOppNumber() const;
268 /**
269 * \return range sub channel
270 */
271 uint8_t GetRangSubchnl() const;
272
273 /**
274 * \return name string
275 */
276 std::string GetName() const;
277 /**
278 * Register this type.
279 * \return The TypeId.
280 */
281 static TypeId GetTypeId();
282 TypeId GetInstanceTypeId() const override;
283 void Print(std::ostream& os) const override;
284 uint32_t GetSerializedSize() const override;
285 void Serialize(Buffer::Iterator start) const override;
286 uint32_t Deserialize(Buffer::Iterator start) override;
287
288 private:
289 uint8_t m_reserved; ///< changed as per the amendment 802.16e-2005
290
291 // TLV Encoded Information
292
293 /**
294 * Tx timing offset adjustment (signed 32-bit). The time required to advance SS transmission so
295 * frames arrive at the expected time instance at the BS.
296 */
298
299 /**
300 * Specifies the relative change in transmission power level that the SS is to make in order
301 * that transmissions arrive at the BS at the desired power. When subchannelization is employed,
302 * the subscriber shall interpret the power offset adjustment as a required change to the
303 * transmitted power density.
304 */
306
307 /**
308 * Specifies the relative change in transmission frequency that the SS is to make in order to
309 * better match the BS. This is fine-frequency adjustment within a channel, not reassignment to
310 * a different channel.
311 */
313
314 /**
315 * range status.
316 */
318
319 /// Center frequency, in kHz, of new downlink channel where the SS should redo initial ranging.
321
322 /**
323 * Licensed bands: The identifier of the uplink channel with which the SS is to redo initial
324 * ranging (not used with PHYs without channelized uplinks).
325 */
327
328 /**
329 * This parameter is sent in response to the RNG-REQ Requested Downlink Burst Profile parameter.
330 * Byte 0: Specifies the least robust DIUC that may be used by the BS for transmissions to the
331 * SS. Byte 1: Configuration Change Count value of DCD defining the burst profile associated
332 * with DIUC.
333 */
335
336 Mac48Address m_macAddress; ///< MAC address
337 Cid m_basicCid; ///< basic CID
338 Cid m_primaryCid; ///< primary CID
339 uint8_t m_aasBdcastPermission; ///< AAS broadcast permission
340
341 /**
342 * Frame number where the associated RNG_REQ message was detected by the BS. Usage is mutually
343 * exclusive with SS MAC Address
344 */
346
347 /**
348 * Initial Ranging opportunity (1–255) in which the associated RNG_REQ message was detected by
349 * the BS. Usage is mutually exclusive with SS MAC Address
350 */
352
353 /**
354 * Used to indicate the OFDM subchannel reference that was used to transmit the initial ranging
355 * message (OFDM with subchannelization).
356 */
358};
359
360} // namespace ns3
361
362#endif /* RNG_RSP_H */
363
364// ---------------------------------------------------------------------
365
366#ifndef DSA_REQ_H
367#define DSA_REQ_H
368
369#include "cid.h"
370#include "service-flow.h"
371
372#include "ns3/buffer.h"
373#include "ns3/header.h"
374
375#include <stdint.h>
376
377namespace ns3
378{
379/**
380 * \ingroup wimax
381 * This class implements the DSA-REQ message described by "IEEE Standard for
382 * Local and metropolitan area networks Part 16: Air Interface for Fixed Broadband Wireless Access
383 * Systems" 6.3.2.3.10 DSA-REQ message, page 62
384 */
385class DsaReq : public Header
386{
387 public:
388 DsaReq();
389 ~DsaReq() override;
390 /**
391 * Constructor
392 *
393 * \param sf service flow
394 */
396 /**
397 * \brief set the transaction ID
398 * \param transactionId
399 */
400 void SetTransactionId(uint16_t transactionId);
401 /**
402 * \brief set the service flow identifier
403 * \param sfid the service flow identifier
404 */
405 void SetSfid(uint32_t sfid);
406 /**
407 * \brief set the connection identifier
408 * \param cid the connection identifier
409 */
410 void SetCid(Cid cid);
411 /**
412 * \brief specify a service flow to be requested by this message
413 * \param sf the service flow
414 */
416 /**
417 * \return the service flow requested by this message
418 */
420 /**
421 * \return the transaction ID
422 */
423 uint16_t GetTransactionId() const;
424 /**
425 * \return the service flow identifier
426 */
427 uint32_t GetSfid() const;
428 /**
429 * \return the connection identifier
430 */
431 Cid GetCid() const;
432 /**
433 * \return the service name
434 */
435 std::string GetName() const;
436 /**
437 * \brief Get the type ID.
438 * \return the object TypeId
439 */
440 static TypeId GetTypeId();
441 TypeId GetInstanceTypeId() const override;
442 void Print(std::ostream& os) const override;
443 uint32_t GetSerializedSize() const override;
444 void Serialize(Buffer::Iterator start) const override;
445 uint32_t Deserialize(Buffer::Iterator start) override;
446
447 private:
448 uint16_t m_transactionId; ///< transaction ID
449 // TLV Encoded Information
450 uint32_t m_sfid; ///< SFID
451 Cid m_cid; ///< CID
452 ServiceFlow m_serviceFlow; ///< service flow
453};
454
455} // namespace ns3
456
457#endif /* DSA_REQ_H */
458
459// ---------------------------------------------------------------------
460
461#ifndef DSA_RSP_H
462#define DSA_RSP_H
463
464#include "cid.h"
465
466#include "ns3/buffer.h"
467#include "ns3/header.h"
468
469#include <stdint.h>
470
471namespace ns3
472{
473
474/**
475 * \ingroup wimax
476 * This class implements the DSA-RSP message described by "IEEE Standard for
477 * Local and metropolitan area networks Part 16: Air Interface for Fixed Broadband Wireless Access
478 * Systems" 6.3.2.3.11 DSA-RSP message, page 63
479 *
480 * \verbatim
481 * 0 7 15 23
482 * +-------------+-------------+-------------+
483 * |Mngt msg type| Transaction ID |
484 * +-------------+-------------+-------------+
485 * | Conf Code | Service Flow TLV |
486 * +~~~~~~~~~~~~~+~~~~~~~~~~~~~+~~~~~~~~~~~~~+
487 * \endverbatim
488 */
489class DsaRsp : public Header
490{
491 public:
492 DsaRsp();
493 ~DsaRsp() override;
494
495 /**
496 * \brief set the transaction ID
497 * \param transactionId
498 */
499 void SetTransactionId(uint16_t transactionId);
500 /**
501 * \return the transaction ID
502 */
503 uint16_t GetTransactionId() const;
504
505 /**
506 * \brief set the confirmation code
507 * \param confirmationCode
508 */
509 void SetConfirmationCode(uint16_t confirmationCode);
510 /**
511 * \return the confirmation code
512 */
513 uint16_t GetConfirmationCode() const;
514 /**
515 * \brief set the service flow identifier
516 * \param sfid the service flow identifier
517 */
518 void SetSfid(uint32_t sfid);
519 /**
520 * \return the service flow identifier
521 */
522 uint32_t GetSfid() const;
523 /**
524 * \brief set the connection identifier
525 * \param cid the connection identifier
526 */
527 void SetCid(Cid cid);
528 /**
529 * \return the connection identifier
530 */
531 Cid GetCid() const;
532 /**
533 * \brief specify a service flow to be requested by this message
534 * \param sf the service flow
535 */
537 /**
538 * \return the service flow requested by this message
539 */
541
542 /**
543 * \return the service name
544 */
545 std::string GetName() const;
546 /**
547 * \brief Get the type ID.
548 * \return the object TypeId
549 */
550 static TypeId GetTypeId();
551 TypeId GetInstanceTypeId() const override;
552 void Print(std::ostream& os) const override;
553 uint32_t GetSerializedSize() const override;
554 void Serialize(Buffer::Iterator start) const override;
555 uint32_t Deserialize(Buffer::Iterator start) override;
556
557 private:
558 uint16_t m_transactionId; ///< transaction ID
559 uint8_t m_confirmationCode; ///< confirmation code
560 // TLV Encoded Information
561 ServiceFlow m_serviceFlow; ///< service flow
562 uint32_t m_sfid; ///< SFID
563 Cid m_cid; ///< CID
564};
565
566} // namespace ns3
567
568#endif /* DSA_RSP_H */
569
570// ---------------------------------------------------------------------
571
572#ifndef DSA_ACK_H
573#define DSA_ACK_H
574
575#include "ns3/buffer.h"
576#include "ns3/header.h"
577
578#include <stdint.h>
579
580namespace ns3
581{
582
583/**
584 * \ingroup wimax
585 * This class implements the DSA-ACK message described by "IEEE Standard for
586 * Local and metropolitan area networks Part 16: Air Interface for Fixed Broadband Wireless Access
587 * Systems" 6.3.2.3.12 DSA-ACK message, page 64
588 */
589class DsaAck : public Header
590{
591 public:
592 DsaAck();
593 ~DsaAck() override;
594
595 /**
596 * Set transaction ID field
597 * \param transactionId the transaction ID
598 */
599 void SetTransactionId(uint16_t transactionId);
600 /**
601 * Get transaction ID field
602 * \returns the transaction ID
603 */
604 uint16_t GetTransactionId() const;
605
606 /**
607 * Set confirmation code field
608 * \param confirmationCode the confirmation code
609 */
610 void SetConfirmationCode(uint16_t confirmationCode);
611 /**
612 * Get confirmation code field
613 * \returns the confirmation code
614 */
615 uint16_t GetConfirmationCode() const;
616
617 /**
618 * Get name field
619 * \return the name string
620 */
621 std::string GetName() const;
622 /**
623 * \brief Get the type ID.
624 * \return the object TypeId
625 */
626 static TypeId GetTypeId();
627 TypeId GetInstanceTypeId() const override;
628 void Print(std::ostream& os) const override;
629 uint32_t GetSerializedSize() const override;
630 void Serialize(Buffer::Iterator start) const override;
631 uint32_t Deserialize(Buffer::Iterator start) override;
632
633 private:
634 uint16_t m_transactionId; ///< transaction ID
635 uint8_t m_confirmationCode; ///< confirmation code
636};
637
638} // namespace ns3
639
640#endif /* DSA_ACK_H */
641
642// ---------------------------------------------------------------------
643
644#ifndef RNG_REQ_H
645#define RNG_REQ_H
646
647#include "service-flow.h"
648
649#include "ns3/header.h"
650#include "ns3/mac48-address.h"
651
652#include <stdint.h>
653
654namespace ns3
655{
656
657/**
658 * \ingroup wimax
659 * This class implements the ranging request message described by "IEEE Standard for
660 * Local and metropolitan area networks Part 16: Air Interface for Fixed Broadband Wireless Access
661 * Systems"
662 */
663class RngReq : public Header
664{
665 public:
666 RngReq();
667 ~RngReq() override;
668
669 /**
670 * Set request DL burst profile field
671 * \param reqDlBurstProfile the request DL burst profile
672 */
673 void SetReqDlBurstProfile(uint8_t reqDlBurstProfile);
674 /**
675 * Set MAC address field
676 * \param macAddress the MAC address
677 */
678 void SetMacAddress(Mac48Address macAddress);
679 /**
680 * Set ranging anomalies field
681 * \param rangingAnomalies the rnaging anomalies
682 */
683 void SetRangingAnomalies(uint8_t rangingAnomalies);
684
685 /**
686 * Get request DL burst profile field
687 * \returns the request DL burst profile
688 */
689 uint8_t GetReqDlBurstProfile() const;
690 /**
691 * Get MAC address field
692 * \returns the MAC address
693 */
695 /**
696 * Get ranging anomalies field
697 * \returns the ranging anomalies
698 */
699 uint8_t GetRangingAnomalies() const;
700
701 /**
702 * \brief Get name field
703 * \returns the name string
704 */
705 std::string GetName() const;
706 /**
707 * \brief Get the type ID.
708 * \return the object TypeId
709 */
710 static TypeId GetTypeId();
711 TypeId GetInstanceTypeId() const override;
712 void Print(std::ostream& os) const override;
713 /// Print debug function
714 void PrintDebug() const;
715 uint32_t GetSerializedSize() const override;
716 void Serialize(Buffer::Iterator start) const override;
717 uint32_t Deserialize(Buffer::Iterator start) override;
718
719 private:
720 uint8_t m_reserved; ///< changed as per the amendment 802.16e-2005
721
722 // TLV Encoded Information
723 uint8_t m_reqDlBurstProfile; ///< request DL burst profile
724 Mac48Address m_macAddress; ///< MAC address
725 uint8_t m_rangingAnomalies; ///< ranging anomalies
726};
727
728} // namespace ns3
729
730#endif /* RNG_REQ_H */
iterator in a Buffer instance
Definition: buffer.h:100
Cid class.
Definition: cid.h:37
This class implements the DSA-ACK message described by "IEEE Standard for Local and metropolitan area...
Definition: mac-messages.h:590
uint32_t Deserialize(Buffer::Iterator start) override
void SetConfirmationCode(uint16_t confirmationCode)
Set confirmation code field.
void SetTransactionId(uint16_t transactionId)
Set transaction ID field.
static TypeId GetTypeId()
Get the type ID.
uint16_t m_transactionId
transaction ID
Definition: mac-messages.h:634
void Serialize(Buffer::Iterator start) const override
uint32_t GetSerializedSize() const override
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
uint16_t GetTransactionId() const
Get transaction ID field.
uint16_t GetConfirmationCode() const
Get confirmation code field.
void Print(std::ostream &os) const override
~DsaAck() override
std::string GetName() const
Get name field.
uint8_t m_confirmationCode
confirmation code
Definition: mac-messages.h:635
This class implements the DSA-REQ message described by "IEEE Standard for Local and metropolitan area...
Definition: mac-messages.h:386
Cid GetCid() const
~DsaReq() override
uint32_t Deserialize(Buffer::Iterator start) override
uint32_t GetSfid() const
void SetTransactionId(uint16_t transactionId)
set the transaction ID
ServiceFlow GetServiceFlow() const
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Cid m_cid
CID.
Definition: mac-messages.h:451
std::string GetName() const
void Print(std::ostream &os) const override
uint16_t GetTransactionId() const
static TypeId GetTypeId()
Get the type ID.
uint32_t GetSerializedSize() const override
ServiceFlow m_serviceFlow
service flow
Definition: mac-messages.h:452
void Serialize(Buffer::Iterator start) const override
void SetServiceFlow(ServiceFlow sf)
specify a service flow to be requested by this message
uint32_t m_sfid
SFID.
Definition: mac-messages.h:450
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:448
This class implements the DSA-RSP message described by "IEEE Standard for Local and metropolitan ar...
Definition: mac-messages.h:490
void SetConfirmationCode(uint16_t confirmationCode)
set the confirmation code
static TypeId GetTypeId()
Get the type ID.
uint32_t m_sfid
SFID.
Definition: mac-messages.h:562
uint32_t GetSerializedSize() const override
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
~DsaRsp() override
Cid GetCid() const
ServiceFlow m_serviceFlow
service flow
Definition: mac-messages.h:561
ServiceFlow GetServiceFlow() const
std::string GetName() const
void Serialize(Buffer::Iterator start) const override
void SetSfid(uint32_t sfid)
set the service flow identifier
uint16_t GetTransactionId() const
uint16_t m_transactionId
transaction ID
Definition: mac-messages.h:558
void SetServiceFlow(ServiceFlow sf)
specify a service flow to be requested by this message
uint32_t GetSfid() const
void SetTransactionId(uint16_t transactionId)
set the transaction ID
Cid m_cid
CID.
Definition: mac-messages.h:563
uint16_t GetConfirmationCode() const
uint8_t m_confirmationCode
confirmation code
Definition: mac-messages.h:559
uint32_t Deserialize(Buffer::Iterator start) override
void Print(std::ostream &os) const override
void SetCid(Cid cid)
set the connection identifier
Protocol header serialization and deserialization.
Definition: header.h:44
an EUI-48 address
Definition: mac48-address.h:46
Mac Management messages Section 6.3.2.3 MAC Management messages page 42, Table 14 page 43.
Definition: mac-messages.h:44
static TypeId GetTypeId()
Get the type ID.
Definition: mac-messages.cc:70
MessageType
Message type enumeration.
Definition: mac-messages.h:48
uint32_t GetSerializedSize() const override
Definition: mac-messages.cc:92
uint32_t Deserialize(Buffer::Iterator start) override
void Print(std::ostream &os) const override
Definition: mac-messages.cc:86
std::string GetName() const
Definition: mac-messages.cc:64
void Serialize(Buffer::Iterator start) const override
Definition: mac-messages.cc:98
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition: mac-messages.cc:80
uint8_t GetType() const
Get type field.
Definition: mac-messages.cc:58
void SetType(uint8_t type)
Set type field.
Definition: mac-messages.cc:52
This class implements the ranging request message described by "IEEE Standard for Local and metropoli...
Definition: mac-messages.h:664
uint8_t m_rangingAnomalies
ranging anomalies
Definition: mac-messages.h:725
~RngReq() override
void SetReqDlBurstProfile(uint8_t reqDlBurstProfile)
Set request DL burst profile field.
uint32_t Deserialize(Buffer::Iterator start) override
void Serialize(Buffer::Iterator start) const override
uint8_t GetReqDlBurstProfile() const
Get request DL burst profile field.
void SetRangingAnomalies(uint8_t rangingAnomalies)
Set ranging anomalies field.
uint8_t m_reserved
changed as per the amendment 802.16e-2005
Definition: mac-messages.h:720
void SetMacAddress(Mac48Address macAddress)
Set MAC address field.
uint32_t GetSerializedSize() const override
uint8_t GetRangingAnomalies() const
Get ranging anomalies field.
std::string GetName() const
Get name field.
uint8_t m_reqDlBurstProfile
request DL burst profile
Definition: mac-messages.h:723
void PrintDebug() const
Print debug function.
void Print(std::ostream &os) const override
Mac48Address GetMacAddress() const
Get MAC address field.
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
static TypeId GetTypeId()
Get the type ID.
Mac48Address m_macAddress
MAC address.
Definition: mac-messages.h:724
This class implements the ranging response message described by "IEEE Standard for Local and metropol...
Definition: mac-messages.h:125
uint32_t Deserialize(Buffer::Iterator start) override
void SetMacAddress(Mac48Address macAddress)
set the MAC address
Mac48Address m_macAddress
MAC address.
Definition: mac-messages.h:336
uint16_t m_dlOperBurstProfile
This parameter is sent in response to the RNG-REQ Requested Downlink Burst Profile parameter.
Definition: mac-messages.h:334
Mac48Address GetMacAddress() const
uint32_t GetTimingAdjust() const
Cid m_primaryCid
primary CID
Definition: mac-messages.h:338
void SetUlChnlIdOverride(uint8_t ulChnlIdOverride)
set the identifier of the uplink channel with which the SS is to redo initial ranging
Cid GetPrimaryCid() const
uint8_t GetRangSubchnl() const
void Print(std::ostream &os) const override
uint32_t GetSerializedSize() const override
uint8_t m_aasBdcastPermission
AAS broadcast permission.
Definition: mac-messages.h:339
uint8_t m_rangStatus
range status.
Definition: mac-messages.h:317
void SetBasicCid(Cid basicCid)
set basic CID.
uint8_t GetPowerLevelAdjust() const
uint32_t m_dlFreqOverride
Center frequency, in kHz, of new downlink channel where the SS should redo initial ranging.
Definition: mac-messages.h:320
uint8_t GetRangStatus() const
uint32_t GetOffsetFreqAdjust() const
void Serialize(Buffer::Iterator start) const override
void SetAasBdcastPermission(uint8_t aasBdcastPermission)
set AAS broadcast permission.
void SetDlOperBurstProfile(uint16_t dlOperBurstProfile)
set the DL oper burst profile
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
uint16_t GetDlOperBurstProfile() 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:351
uint8_t GetUlChnlIdOverride() const
void SetRangSubchnl(uint8_t rangSubchnl)
set range sub channel.
~RngRsp() override
uint8_t m_rangSubchnl
Used to indicate the OFDM subchannel reference that was used to transmit the initial ranging message ...
Definition: mac-messages.h:357
uint32_t GetDlFreqOverride() const
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:326
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:305
void SetFrameNumber(uint32_t frameNumber)
set frame number.
Cid GetBasicCid() const
void SetDlFreqOverride(uint32_t dlFreqOverride)
set the Center frequency, in kHz, of new downlink channel where the SS should redo initial ranging.
std::string GetName() const
void SetOffsetFreqAdjust(uint32_t offsetFreqAdjust)
set the relative change in transmission frequency that the SS should take in order to better match th...
uint32_t GetFrameNumber() const
uint8_t m_reserved
changed as per the amendment 802.16e-2005
Definition: mac-messages.h:289
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:312
Cid m_basicCid
basic CID
Definition: mac-messages.h:337
void SetRangStatus(uint8_t rangStatus)
set the range status.
uint32_t m_timingAdjust
Tx timing offset adjustment (signed 32-bit).
Definition: mac-messages.h:297
uint8_t GetInitRangOppNumber() const
uint32_t m_frameNumber
Frame number where the associated RNG_REQ message was detected by the BS.
Definition: mac-messages.h:345
uint8_t GetAasBdcastPermission() const
static TypeId GetTypeId()
Register this type.
This class implements service flows as described by the IEEE-802.16 standard.
Definition: service-flow.h:43
a unique identifier for an interface.
Definition: type-id.h:59
Every class exported by the ns3 library is enclosed in the ns3 namespace.