A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Loading...
Searching...
No Matches
uan-header-rc.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2009 University of Washington
3
*
4
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Author: Leonard Tracy <lentracy@gmail.com>
7
*/
8
9
#ifndef UAN_HEADER_RC_H
10
#define UAN_HEADER_RC_H
11
12
#include "ns3/header.h"
13
#include "ns3/mac8-address.h"
14
#include "ns3/nstime.h"
15
16
#include <set>
17
18
namespace
ns3
19
{
20
21
/**
22
* @ingroup uan
23
*
24
* Extra data header information.
25
*
26
* Adds propagation delay measure, and frame number info to
27
* transmitted data packet.
28
*/
29
class
UanHeaderRcData
:
public
Header
30
{
31
public
:
32
/** Default constructor */
33
UanHeaderRcData
();
34
/**
35
* Constructor.
36
*
37
* @param frameNum Data frame # of reservation being transmitted.
38
* @param propDelay Measured propagation delay found in handshaking.
39
* @note Prop. delay is transmitted with 16 bits and ms accuracy.
40
*/
41
UanHeaderRcData
(uint8_t frameNum,
Time
propDelay);
42
/** Destructor */
43
~UanHeaderRcData
()
override
;
44
45
/**
46
* Register this type.
47
* @return The TypeId.
48
*/
49
static
TypeId
GetTypeId
();
50
51
/**
52
* Set the frame number of the reservation being transmitted.
53
*
54
* @param frameNum The data frame number.
55
*/
56
void
SetFrameNo
(uint8_t frameNum);
57
/**
58
* Set the propagation delay as found in handshaking.
59
*
60
* @param propDelay The measured propagation delay.
61
* @note Prop. delay is transmitted with 16 bits and ms accuracy.
62
*/
63
void
SetPropDelay
(
Time
propDelay);
64
/**
65
* Get the frame number of the reservation being transmitted.
66
*
67
* @return The data frame number.
68
*/
69
uint8_t
GetFrameNo
()
const
;
70
/**
71
* Get the propagation delay found in handshaking.
72
*
73
* @return The measured propagation delay.
74
* @note Prop. delay is transmitted with 16 bits and ms accuracy
75
*/
76
Time
GetPropDelay
()
const
;
77
/**
78
* Specialized Print with Time::Unit declared.
79
*
80
* @param os ostream.
81
* @param unit Time unit.
82
*/
83
void
Print
(std::ostream& os,
Time::Unit
unit)
const
;
84
85
// Inherited methods
86
uint32_t
GetSerializedSize
()
const override
;
87
void
Serialize
(
Buffer::Iterator
start)
const override
;
88
uint32_t
Deserialize
(
Buffer::Iterator
start)
override
;
89
void
Print
(std::ostream& os)
const override
;
90
TypeId
GetInstanceTypeId
()
const override
;
91
92
private
:
93
uint8_t
m_frameNo
;
//!< Data frame number.
94
Time
m_propDelay
;
//!< Propagation delay.
95
96
// end of class UanHeaderRcData
97
};
98
99
/**
100
* @ingroup uan
101
*
102
* RTS header.
103
*
104
* Contains frame number, retry number, number of frames, length, and timestamp.
105
*/
106
class
UanHeaderRcRts
:
public
Header
107
{
108
public
:
109
/** Default constructor */
110
UanHeaderRcRts
();
111
/**
112
* Constructor.
113
*
114
* @param frameNo Reservation frame number.
115
* @param retryNo Retry number of RTS packet.
116
* @param noFrames Number of data frames in reservation.
117
* @param length Number of bytes (including headers) in data.
118
* @param ts RTS TX timestamp.
119
* @note Timestamp is serialized into 32 bits with ms accuracy.
120
*/
121
UanHeaderRcRts
(uint8_t frameNo, uint8_t retryNo, uint8_t noFrames, uint16_t length,
Time
ts);
122
/** Destructor */
123
~UanHeaderRcRts
()
override
;
124
125
/**
126
* Register this type.
127
* @return The TypeId.
128
*/
129
static
TypeId
GetTypeId
();
130
131
/**
132
* Set the frame number.
133
*
134
* @param fno TX frame number
135
*/
136
void
SetFrameNo
(uint8_t fno);
137
/**
138
* Set the number of data frames included in this reservation request.
139
*
140
* @param no Number of frames.
141
*/
142
void
SetNoFrames
(uint8_t no);
143
/**
144
* Set RTS transmission time.
145
*
146
* @param timeStamp The RTS transmission time.
147
*/
148
void
SetTimeStamp
(
Time
timeStamp);
149
/**
150
* Set the number of data bytes in the reservation.
151
*
152
* @param length Total number of data bytes in reservation (including headers).
153
* @note Timestamp is serialized with 32 bits in ms precision.
154
*/
155
void
SetLength
(uint16_t length);
156
/**
157
* Set the retry number of this RTS packet.
158
*
159
* This is used to match timestamp to correctly received RTS.
160
*
161
* @param no Retry number.
162
*/
163
void
SetRetryNo
(uint8_t no);
164
165
/**
166
* Get the frame number.
167
*
168
* @return The frame number.
169
*/
170
uint8_t
GetFrameNo
()
const
;
171
/**
172
* Get the number of data frames in the reservation.
173
*
174
* @return The number of data frames.
175
*/
176
uint8_t
GetNoFrames
()
const
;
177
/**
178
* Get the transmit timestamp of this RTS packet.
179
*
180
* @return The TX time.
181
* @note Timestamp is serialized with 32 bits in ms precision.
182
*/
183
Time
GetTimeStamp
()
const
;
184
/**
185
* Get the total number of bytes in the reservation, including headers.
186
*
187
* @return Total number of bytes in data packets for reservation.
188
*/
189
uint16_t
GetLength
()
const
;
190
/**
191
* Get the retry number of this RTS packet.
192
*
193
* @return The retry number.
194
*/
195
uint8_t
GetRetryNo
()
const
;
196
/**
197
* Specialized Print with Time::Unit declared.
198
*
199
* @param os ostream.
200
* @param unit Time unit.
201
*/
202
void
Print
(std::ostream& os,
Time::Unit
unit)
const
;
203
204
// Inherited methods
205
uint32_t
GetSerializedSize
()
const override
;
206
void
Serialize
(
Buffer::Iterator
start)
const override
;
207
uint32_t
Deserialize
(
Buffer::Iterator
start)
override
;
208
void
Print
(std::ostream& os)
const override
;
209
TypeId
GetInstanceTypeId
()
const override
;
210
211
private
:
212
uint8_t
m_frameNo
;
//!< Reservation frame number.
213
uint8_t
m_noFrames
;
//!< Number of data frames in reservation.
214
uint16_t
m_length
;
//!< Number of bytes (including headers) in data.
215
Time
m_timeStamp
;
//!< RTS TX timestamp.
216
uint8_t
m_retryNo
;
//!< Retry number of RTS packet.
217
218
// end of class UanHeaderRcRts
219
};
220
221
/**
222
* @ingroup uan
223
*
224
* Cycle broadcast information.
225
*
226
* This includes the rate number, retry rate and window time.
227
*/
228
class
UanHeaderRcCtsGlobal
:
public
Header
229
{
230
public
:
231
/** Default constructor */
232
UanHeaderRcCtsGlobal
();
233
/**
234
* Constructor
235
*
236
* @param wt Window time.
237
* @param ts Timestamp.
238
* @param rate Rate number.
239
* @param retryRate Retry rate value.
240
*/
241
UanHeaderRcCtsGlobal
(
Time
wt,
Time
ts, uint16_t rate, uint16_t retryRate);
242
/** Destructor */
243
~UanHeaderRcCtsGlobal
()
override
;
244
245
/**
246
* Register this type.
247
* @return The TypeId.
248
*/
249
static
TypeId
GetTypeId
();
250
251
/**
252
* Set the rate number corresponding to data rate of current cycle.
253
* @param rate The rate number.
254
*/
255
void
SetRateNum
(uint16_t rate);
256
/**
257
* Set the retry rate number for the current cycle.
258
* @param rate The retry rate number
259
*/
260
void
SetRetryRate
(uint16_t rate);
261
/**
262
* Set the window time (time duration following blocking time
263
* to allow RTS transmissions).
264
*
265
* @param t The window time.
266
*/
267
void
SetWindowTime
(
Time
t);
268
269
/**
270
* Set the CTS timestamp.
271
*
272
* @param timeStamp The time of CTS transmission.
273
*/
274
void
SetTxTimeStamp
(
Time
timeStamp);
275
276
/**
277
* Get the data rate number.
278
*
279
* @return The rate number.
280
*/
281
uint16_t
GetRateNum
()
const
;
282
/**
283
* Get the retry rate number.
284
*
285
* @return The retry rate number.
286
*/
287
uint16_t
GetRetryRate
()
const
;
288
/**
289
* Get the window time (time duration following blocking time
290
* to allow RTS transmissions).
291
*
292
* @return The window time.
293
*/
294
Time
GetWindowTime
()
const
;
295
/**
296
* Get the CTS transmit timestamp.
297
*
298
* @return The timestamp.
299
*/
300
Time
GetTxTimeStamp
()
const
;
301
/**
302
* Specialized Print with Time::Unit declared.
303
*
304
* @param os ostream.
305
* @param unit Time unit.
306
*/
307
void
Print
(std::ostream& os,
Time::Unit
unit)
const
;
308
309
// Inherited methods
310
uint32_t
GetSerializedSize
()
const override
;
311
void
Serialize
(
Buffer::Iterator
start)
const override
;
312
uint32_t
Deserialize
(
Buffer::Iterator
start)
override
;
313
void
Print
(std::ostream& os)
const override
;
314
TypeId
GetInstanceTypeId
()
const override
;
315
316
private
:
317
Time
m_timeStampTx
;
//!< Timestamp.
318
Time
m_winTime
;
//!< Window time.
319
uint16_t
m_retryRate
;
//!< Retry rate.
320
uint16_t
m_rateNum
;
//!< Rate number.
321
322
// end of class UanHeaderRcCtsGlobal
323
};
324
325
/**
326
* @ingroup uan
327
*
328
* CTS header
329
*
330
* Includes RTS RX time, CTS TX time, delay until TX, RTS blocking period,
331
* RTS tx period, rate #, and retry rate #
332
*/
333
class
UanHeaderRcCts
:
public
Header
334
{
335
public
:
336
/** Default constructor */
337
UanHeaderRcCts
();
338
/**
339
* Constructor
340
*
341
* @param frameNo Reservation frame # being cleared.
342
* @param retryNo Retry # of received RTS packet.
343
* @param rtsTs RX time of RTS packet at gateway.
344
* @param delay Delay until transmission.
345
* @param addr Destination of CTS packet.
346
* @note Times are serialized, with ms precision, into 32 bit fields.
347
*/
348
UanHeaderRcCts
(uint8_t frameNo, uint8_t retryNo,
Time
rtsTs,
Time
delay,
Mac8Address
addr);
349
/** Destructor */
350
~UanHeaderRcCts
()
override
;
351
352
/**
353
* Register this type.
354
* @return The TypeId.
355
*/
356
static
TypeId
GetTypeId
();
357
358
/**
359
* Set the RTS frame number being cleared.
360
*
361
* @param frameNo The frame number.
362
*/
363
void
SetFrameNo
(uint8_t frameNo);
364
/**
365
* Set the timestamp for RTS reception.
366
*
367
* @param timeStamp The timestamp.
368
*/
369
void
SetRtsTimeStamp
(
Time
timeStamp);
370
/**
371
* Set the time delay from CTS transmission to first data frame arrival.
372
*
373
* @param delay The delay time.
374
*/
375
void
SetDelayToTx
(
Time
delay);
376
/**
377
* Set the retry number of the RTS frame being cleared.
378
*
379
* @param no The retry number.
380
*/
381
void
SetRetryNo
(uint8_t no);
382
/**
383
* Set the destination address, for scheduling info.
384
*
385
* @param addr The destination address.
386
*/
387
void
SetAddress
(
Mac8Address
addr);
388
389
/**
390
* Get the frame number of the RTS being cleared.
391
*
392
* @return The frame number.
393
*/
394
uint8_t
GetFrameNo
()
const
;
395
/**
396
* Get the receive time of the RTS being cleared.
397
*
398
* @return The RX time.
399
*/
400
Time
GetRtsTimeStamp
()
const
;
401
/**
402
* Get the time delay from TX time of CTS packet until
403
* arrival of first data frame.
404
*
405
* @return The delay time.
406
*/
407
Time
GetDelayToTx
()
const
;
408
/**
409
* Get the retry number of the RTS packet being cleared.
410
*
411
* @return The retry number
412
*/
413
uint8_t
GetRetryNo
()
const
;
414
/**
415
* Get the destination address, for scheduling info.
416
*
417
* @return The destination address.
418
*/
419
Mac8Address
GetAddress
()
const
;
420
/**
421
* Specialized Print with Time::Unit declared.
422
*
423
* @param os ostream.
424
* @param unit Time unit.
425
*/
426
void
Print
(std::ostream& os,
Time::Unit
unit)
const
;
427
428
// Inherited methods
429
uint32_t
GetSerializedSize
()
const override
;
430
void
Serialize
(
Buffer::Iterator
start)
const override
;
431
uint32_t
Deserialize
(
Buffer::Iterator
start)
override
;
432
void
Print
(std::ostream& os)
const override
;
433
TypeId
GetInstanceTypeId
()
const override
;
434
435
private
:
436
uint8_t
m_frameNo
;
//!< Reservation frame number being cleared.
437
Time
m_timeStampRts
;
//!< RX time of RTS packet at gateway.
438
uint8_t
m_retryNo
;
//!< Retry number of received RTS packet.
439
Time
m_delay
;
//!< Delay until transmission.
440
Mac8Address
m_address
;
//!< Destination of CTS packet.
441
442
// end of class UanHeaderRcCts
443
};
444
445
/**
446
* @ingroup uan
447
*
448
* Header used for ACK packets by protocol UanMacRc
449
*/
450
class
UanHeaderRcAck
:
public
Header
451
{
452
public
:
453
/** Default constructor */
454
UanHeaderRcAck
();
455
/** Destructor */
456
~UanHeaderRcAck
()
override
;
457
458
/**
459
* Register this type.
460
* @return The TypeId.
461
*/
462
static
TypeId
GetTypeId
();
463
464
/**
465
* Set the frame number of the reservation being acknowledged.
466
*
467
* @param frameNo The frame number.
468
*/
469
void
SetFrameNo
(uint8_t frameNo);
470
/**
471
* NACK a frame.
472
*
473
* @param frame The data frame number being NACKed.
474
*/
475
void
AddNackedFrame
(uint8_t frame);
476
477
/**
478
* Get the set of NACK'ed frames.
479
*
480
* @return The set of NACK'ed frames.
481
*/
482
const
std::set<uint8_t>&
GetNackedFrames
()
const
;
483
/**
484
* Get the reservation frame number being ACKed.
485
*
486
* @return The frame number.
487
*/
488
uint8_t
GetFrameNo
()
const
;
489
/**
490
* Get the number of data frames being NACKed.
491
*
492
* @return The number of NACKed frames.
493
*/
494
uint8_t
GetNoNacks
()
const
;
495
496
// Inherited methods
497
uint32_t
GetSerializedSize
()
const override
;
498
void
Serialize
(
Buffer::Iterator
start)
const override
;
499
uint32_t
Deserialize
(
Buffer::Iterator
start)
override
;
500
void
Print
(std::ostream& os)
const override
;
501
TypeId
GetInstanceTypeId
()
const override
;
502
503
private
:
504
uint8_t
m_frameNo
;
//!< Next frame number.
505
std::set<uint8_t>
m_nackedFrames
;
//!< Marker for nacked frames.
506
507
// end of class UanHeaderRcAck
508
};
509
510
}
// namespace ns3
511
512
#endif
/* UAN_HEADER_RC_H */
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition
buffer.h:89
ns3::Header
Protocol header serialization and deserialization.
Definition
header.h:33
ns3::Mac8Address
A class used for addressing MAC8 MAC's.
Definition
mac8-address.h:33
ns3::Time
Simulation virtual time values and global simulation resolution.
Definition
nstime.h:94
ns3::Time::Unit
Unit
The unit to use to interpret a number representing time.
Definition
nstime.h:100
ns3::TypeId
a unique identifier for an interface.
Definition
type-id.h:49
ns3::UanHeaderRcAck
Header used for ACK packets by protocol UanMacRc.
Definition
uan-header-rc.h:451
ns3::UanHeaderRcAck::GetTypeId
static TypeId GetTypeId()
Register this type.
Definition
uan-header-rc.cc:549
ns3::UanHeaderRcAck::m_frameNo
uint8_t m_frameNo
Next frame number.
Definition
uan-header-rc.h:504
ns3::UanHeaderRcAck::GetSerializedSize
uint32_t GetSerializedSize() const override
Definition
uan-header-rc.cc:589
ns3::UanHeaderRcAck::Deserialize
uint32_t Deserialize(Buffer::Iterator start) override
Definition
uan-header-rc.cc:607
ns3::UanHeaderRcAck::m_nackedFrames
std::set< uint8_t > m_nackedFrames
Marker for nacked frames.
Definition
uan-header-rc.h:505
ns3::UanHeaderRcAck::GetNackedFrames
const std::set< uint8_t > & GetNackedFrames() const
Get the set of NACK'ed frames.
Definition
uan-header-rc.cc:571
ns3::UanHeaderRcAck::~UanHeaderRcAck
~UanHeaderRcAck() override
Destructor.
Definition
uan-header-rc.cc:543
ns3::UanHeaderRcAck::Serialize
void Serialize(Buffer::Iterator start) const override
Definition
uan-header-rc.cc:595
ns3::UanHeaderRcAck::UanHeaderRcAck
UanHeaderRcAck()
Default constructor.
Definition
uan-header-rc.cc:538
ns3::UanHeaderRcAck::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition
uan-header-rc.cc:638
ns3::UanHeaderRcAck::GetFrameNo
uint8_t GetFrameNo() const
Get the reservation frame number being ACKed.
Definition
uan-header-rc.cc:577
ns3::UanHeaderRcAck::AddNackedFrame
void AddNackedFrame(uint8_t frame)
NACK a frame.
Definition
uan-header-rc.cc:565
ns3::UanHeaderRcAck::Print
void Print(std::ostream &os) const override
Definition
uan-header-rc.cc:621
ns3::UanHeaderRcAck::GetNoNacks
uint8_t GetNoNacks() const
Get the number of data frames being NACKed.
Definition
uan-header-rc.cc:583
ns3::UanHeaderRcAck::SetFrameNo
void SetFrameNo(uint8_t frameNo)
Set the frame number of the reservation being acknowledged.
Definition
uan-header-rc.cc:559
ns3::UanHeaderRcCtsGlobal
Cycle broadcast information.
Definition
uan-header-rc.h:229
ns3::UanHeaderRcCtsGlobal::Print
void Print(std::ostream &os, Time::Unit unit) const
Specialized Print with Time::Unit declared.
Definition
uan-header-rc.cc:370
ns3::UanHeaderRcCtsGlobal::Deserialize
uint32_t Deserialize(Buffer::Iterator start) override
Definition
uan-header-rc.cc:359
ns3::UanHeaderRcCtsGlobal::UanHeaderRcCtsGlobal
UanHeaderRcCtsGlobal()
Default constructor.
Definition
uan-header-rc.cc:265
ns3::UanHeaderRcCtsGlobal::GetTypeId
static TypeId GetTypeId()
Register this type.
Definition
uan-header-rc.cc:286
ns3::UanHeaderRcCtsGlobal::Serialize
void Serialize(Buffer::Iterator start) const override
Definition
uan-header-rc.cc:350
ns3::UanHeaderRcCtsGlobal::SetRateNum
void SetRateNum(uint16_t rate)
Set the rate number corresponding to data rate of current cycle.
Definition
uan-header-rc.cc:296
ns3::UanHeaderRcCtsGlobal::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition
uan-header-rc.cc:384
ns3::UanHeaderRcCtsGlobal::~UanHeaderRcCtsGlobal
~UanHeaderRcCtsGlobal() override
Destructor.
Definition
uan-header-rc.cc:281
ns3::UanHeaderRcCtsGlobal::SetRetryRate
void SetRetryRate(uint16_t rate)
Set the retry rate number for the current cycle.
Definition
uan-header-rc.cc:302
ns3::UanHeaderRcCtsGlobal::m_timeStampTx
Time m_timeStampTx
Timestamp.
Definition
uan-header-rc.h:317
ns3::UanHeaderRcCtsGlobal::SetTxTimeStamp
void SetTxTimeStamp(Time timeStamp)
Set the CTS timestamp.
Definition
uan-header-rc.cc:314
ns3::UanHeaderRcCtsGlobal::m_winTime
Time m_winTime
Window time.
Definition
uan-header-rc.h:318
ns3::UanHeaderRcCtsGlobal::GetRetryRate
uint16_t GetRetryRate() const
Get the retry rate number.
Definition
uan-header-rc.cc:332
ns3::UanHeaderRcCtsGlobal::m_retryRate
uint16_t m_retryRate
Retry rate.
Definition
uan-header-rc.h:319
ns3::UanHeaderRcCtsGlobal::GetTxTimeStamp
Time GetTxTimeStamp() const
Get the CTS transmit timestamp.
Definition
uan-header-rc.cc:326
ns3::UanHeaderRcCtsGlobal::m_rateNum
uint16_t m_rateNum
Rate number.
Definition
uan-header-rc.h:320
ns3::UanHeaderRcCtsGlobal::GetWindowTime
Time GetWindowTime() const
Get the window time (time duration following blocking time to allow RTS transmissions).
Definition
uan-header-rc.cc:320
ns3::UanHeaderRcCtsGlobal::SetWindowTime
void SetWindowTime(Time t)
Set the window time (time duration following blocking time to allow RTS transmissions).
Definition
uan-header-rc.cc:308
ns3::UanHeaderRcCtsGlobal::GetRateNum
uint16_t GetRateNum() const
Get the data rate number.
Definition
uan-header-rc.cc:338
ns3::UanHeaderRcCtsGlobal::GetSerializedSize
uint32_t GetSerializedSize() const override
Definition
uan-header-rc.cc:344
ns3::UanHeaderRcCts
CTS header.
Definition
uan-header-rc.h:334
ns3::UanHeaderRcCts::GetDelayToTx
Time GetDelayToTx() const
Get the time delay from TX time of CTS packet until arrival of first data frame.
Definition
uan-header-rc.cc:470
ns3::UanHeaderRcCts::GetFrameNo
uint8_t GetFrameNo() const
Get the frame number of the RTS being cleared.
Definition
uan-header-rc.cc:458
ns3::UanHeaderRcCts::Deserialize
uint32_t Deserialize(Buffer::Iterator start) override
Definition
uan-header-rc.cc:506
ns3::UanHeaderRcCts::SetRtsTimeStamp
void SetRtsTimeStamp(Time timeStamp)
Set the timestamp for RTS reception.
Definition
uan-header-rc.cc:434
ns3::UanHeaderRcCts::UanHeaderRcCts
UanHeaderRcCts()
Default constructor.
Definition
uan-header-rc.cc:389
ns3::UanHeaderRcCts::SetFrameNo
void SetFrameNo(uint8_t frameNo)
Set the RTS frame number being cleared.
Definition
uan-header-rc.cc:428
ns3::UanHeaderRcCts::GetSerializedSize
uint32_t GetSerializedSize() const override
Definition
uan-header-rc.cc:488
ns3::UanHeaderRcCts::~UanHeaderRcCts
~UanHeaderRcCts() override
Destructor.
Definition
uan-header-rc.cc:413
ns3::UanHeaderRcCts::SetDelayToTx
void SetDelayToTx(Time delay)
Set the time delay from CTS transmission to first data frame arrival.
Definition
uan-header-rc.cc:440
ns3::UanHeaderRcCts::Serialize
void Serialize(Buffer::Iterator start) const override
Definition
uan-header-rc.cc:494
ns3::UanHeaderRcCts::m_address
Mac8Address m_address
Destination of CTS packet.
Definition
uan-header-rc.h:440
ns3::UanHeaderRcCts::GetRetryNo
uint8_t GetRetryNo() const
Get the retry number of the RTS packet being cleared.
Definition
uan-header-rc.cc:476
ns3::UanHeaderRcCts::GetAddress
Mac8Address GetAddress() const
Get the destination address, for scheduling info.
Definition
uan-header-rc.cc:482
ns3::UanHeaderRcCts::m_delay
Time m_delay
Delay until transmission.
Definition
uan-header-rc.h:439
ns3::UanHeaderRcCts::m_timeStampRts
Time m_timeStampRts
RX time of RTS packet at gateway.
Definition
uan-header-rc.h:437
ns3::UanHeaderRcCts::Print
void Print(std::ostream &os, Time::Unit unit) const
Specialized Print with Time::Unit declared.
Definition
uan-header-rc.cc:519
ns3::UanHeaderRcCts::m_frameNo
uint8_t m_frameNo
Reservation frame number being cleared.
Definition
uan-header-rc.h:436
ns3::UanHeaderRcCts::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition
uan-header-rc.cc:533
ns3::UanHeaderRcCts::SetRetryNo
void SetRetryNo(uint8_t no)
Set the retry number of the RTS frame being cleared.
Definition
uan-header-rc.cc:446
ns3::UanHeaderRcCts::GetTypeId
static TypeId GetTypeId()
Register this type.
Definition
uan-header-rc.cc:418
ns3::UanHeaderRcCts::GetRtsTimeStamp
Time GetRtsTimeStamp() const
Get the receive time of the RTS being cleared.
Definition
uan-header-rc.cc:464
ns3::UanHeaderRcCts::SetAddress
void SetAddress(Mac8Address addr)
Set the destination address, for scheduling info.
Definition
uan-header-rc.cc:452
ns3::UanHeaderRcCts::m_retryNo
uint8_t m_retryNo
Retry number of received RTS packet.
Definition
uan-header-rc.h:438
ns3::UanHeaderRcData
Extra data header information.
Definition
uan-header-rc.h:30
ns3::UanHeaderRcData::m_propDelay
Time m_propDelay
Propagation delay.
Definition
uan-header-rc.h:94
ns3::UanHeaderRcData::~UanHeaderRcData
~UanHeaderRcData() override
Destructor.
Definition
uan-header-rc.cc:38
ns3::UanHeaderRcData::m_frameNo
uint8_t m_frameNo
Data frame number.
Definition
uan-header-rc.h:93
ns3::UanHeaderRcData::SetFrameNo
void SetFrameNo(uint8_t frameNum)
Set the frame number of the reservation being transmitted.
Definition
uan-header-rc.cc:53
ns3::UanHeaderRcData::UanHeaderRcData
UanHeaderRcData()
Default constructor.
Definition
uan-header-rc.cc:24
ns3::UanHeaderRcData::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition
uan-header-rc.cc:113
ns3::UanHeaderRcData::GetFrameNo
uint8_t GetFrameNo() const
Get the frame number of the reservation being transmitted.
Definition
uan-header-rc.cc:65
ns3::UanHeaderRcData::GetTypeId
static TypeId GetTypeId()
Register this type.
Definition
uan-header-rc.cc:43
ns3::UanHeaderRcData::GetSerializedSize
uint32_t GetSerializedSize() const override
Definition
uan-header-rc.cc:77
ns3::UanHeaderRcData::Serialize
void Serialize(Buffer::Iterator start) const override
Definition
uan-header-rc.cc:83
ns3::UanHeaderRcData::SetPropDelay
void SetPropDelay(Time propDelay)
Set the propagation delay as found in handshaking.
Definition
uan-header-rc.cc:59
ns3::UanHeaderRcData::GetPropDelay
Time GetPropDelay() const
Get the propagation delay found in handshaking.
Definition
uan-header-rc.cc:71
ns3::UanHeaderRcData::Deserialize
uint32_t Deserialize(Buffer::Iterator start) override
Definition
uan-header-rc.cc:90
ns3::UanHeaderRcData::Print
void Print(std::ostream &os, Time::Unit unit) const
Specialized Print with Time::Unit declared.
Definition
uan-header-rc.cc:101
ns3::UanHeaderRcRts
RTS header.
Definition
uan-header-rc.h:107
ns3::UanHeaderRcRts::m_length
uint16_t m_length
Number of bytes (including headers) in data.
Definition
uan-header-rc.h:214
ns3::UanHeaderRcRts::Print
void Print(std::ostream &os, Time::Unit unit) const
Specialized Print with Time::Unit declared.
Definition
uan-header-rc.cc:246
ns3::UanHeaderRcRts::UanHeaderRcRts
UanHeaderRcRts()
Default constructor.
Definition
uan-header-rc.cc:118
ns3::UanHeaderRcRts::GetFrameNo
uint8_t GetFrameNo() const
Get the frame number.
Definition
uan-header-rc.cc:211
ns3::UanHeaderRcRts::GetLength
uint16_t GetLength() const
Get the total number of bytes in the reservation, including headers.
Definition
uan-header-rc.cc:193
ns3::UanHeaderRcRts::m_retryNo
uint8_t m_retryNo
Retry number of RTS packet.
Definition
uan-header-rc.h:216
ns3::UanHeaderRcRts::GetNoFrames
uint8_t GetNoFrames() const
Get the number of data frames in the reservation.
Definition
uan-header-rc.cc:187
ns3::UanHeaderRcRts::SetFrameNo
void SetFrameNo(uint8_t fno)
Set the frame number.
Definition
uan-header-rc.cc:157
ns3::UanHeaderRcRts::SetTimeStamp
void SetTimeStamp(Time timeStamp)
Set RTS transmission time.
Definition
uan-header-rc.cc:175
ns3::UanHeaderRcRts::GetTypeId
static TypeId GetTypeId()
Register this type.
Definition
uan-header-rc.cc:147
ns3::UanHeaderRcRts::m_noFrames
uint8_t m_noFrames
Number of data frames in reservation.
Definition
uan-header-rc.h:213
ns3::UanHeaderRcRts::GetTimeStamp
Time GetTimeStamp() const
Get the transmit timestamp of this RTS packet.
Definition
uan-header-rc.cc:199
ns3::UanHeaderRcRts::~UanHeaderRcRts
~UanHeaderRcRts() override
Destructor.
Definition
uan-header-rc.cc:142
ns3::UanHeaderRcRts::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition
uan-header-rc.cc:260
ns3::UanHeaderRcRts::SetRetryNo
void SetRetryNo(uint8_t no)
Set the retry number of this RTS packet.
Definition
uan-header-rc.cc:181
ns3::UanHeaderRcRts::GetSerializedSize
uint32_t GetSerializedSize() const override
Definition
uan-header-rc.cc:217
ns3::UanHeaderRcRts::m_frameNo
uint8_t m_frameNo
Reservation frame number.
Definition
uan-header-rc.h:212
ns3::UanHeaderRcRts::Serialize
void Serialize(Buffer::Iterator start) const override
Definition
uan-header-rc.cc:223
ns3::UanHeaderRcRts::GetRetryNo
uint8_t GetRetryNo() const
Get the retry number of this RTS packet.
Definition
uan-header-rc.cc:205
ns3::UanHeaderRcRts::SetNoFrames
void SetNoFrames(uint8_t no)
Set the number of data frames included in this reservation request.
Definition
uan-header-rc.cc:163
ns3::UanHeaderRcRts::SetLength
void SetLength(uint16_t length)
Set the number of data bytes in the reservation.
Definition
uan-header-rc.cc:169
ns3::UanHeaderRcRts::m_timeStamp
Time m_timeStamp
RTS TX timestamp.
Definition
uan-header-rc.h:215
ns3::UanHeaderRcRts::Deserialize
uint32_t Deserialize(Buffer::Iterator start) override
Definition
uan-header-rc.cc:233
uint32_t
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
uan
model
uan-header-rc.h
Generated on Tue Apr 29 2025 18:20:53 for ns-3 by
1.11.0