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
};
// class UanHeaderRcData
97
98
/**
99
* \ingroup uan
100
*
101
* RTS header.
102
*
103
* Contains frame number, retry number, number of frames, length, and timestamp.
104
*/
105
class
UanHeaderRcRts
:
public
Header
106
{
107
public
:
108
/** Default constructor */
109
UanHeaderRcRts
();
110
/**
111
* Constructor.
112
*
113
* \param frameNo Reservation frame number.
114
* \param retryNo Retry number of RTS packet.
115
* \param noFrames Number of data frames in reservation.
116
* \param length Number of bytes (including headers) in data.
117
* \param ts RTS TX timestamp.
118
* \note Timestamp is serialized into 32 bits with ms accuracy.
119
*/
120
UanHeaderRcRts
(uint8_t frameNo, uint8_t retryNo, uint8_t noFrames, uint16_t length,
Time
ts);
121
/** Destructor */
122
~UanHeaderRcRts
()
override
;
123
124
/**
125
* Register this type.
126
* \return The TypeId.
127
*/
128
static
TypeId
GetTypeId
();
129
130
/**
131
* Set the frame number.
132
*
133
* \param fno TX frame number
134
*/
135
void
SetFrameNo
(uint8_t fno);
136
/**
137
* Set the number of data frames included in this reservation request.
138
*
139
* \param no Number of frames.
140
*/
141
void
SetNoFrames
(uint8_t no);
142
/**
143
* Set RTS transmission time.
144
*
145
* \param timeStamp The RTS transmission time.
146
*/
147
void
SetTimeStamp
(
Time
timeStamp);
148
/**
149
* Set the number of data bytes in the reservation.
150
*
151
* \param length Total number of data bytes in reservation (including headers).
152
* \note Timestamp is serialized with 32 bits in ms precision.
153
*/
154
void
SetLength
(uint16_t length);
155
/**
156
* Set the retry number of this RTS packet.
157
*
158
* This is used to match timestamp to correctly received RTS.
159
*
160
* \param no Retry number.
161
*/
162
void
SetRetryNo
(uint8_t no);
163
164
/**
165
* Get the frame number.
166
*
167
* \return The frame number.
168
*/
169
uint8_t
GetFrameNo
()
const
;
170
/**
171
* Get the number of data frames in the reservation.
172
*
173
* \return The number of data frames.
174
*/
175
uint8_t
GetNoFrames
()
const
;
176
/**
177
* Get the transmit timestamp of this RTS packet.
178
*
179
* \return The TX time.
180
* \note Timestamp is serialized with 32 bits in ms precision.
181
*/
182
Time
GetTimeStamp
()
const
;
183
/**
184
* Get the total number of bytes in the reservation, including headers.
185
*
186
* \return Total number of bytes in data packets for reservation.
187
*/
188
uint16_t
GetLength
()
const
;
189
/**
190
* Get the retry number of this RTS packet.
191
*
192
* \return The retry number.
193
*/
194
uint8_t
GetRetryNo
()
const
;
195
/**
196
* Specialized Print with Time::Unit declared.
197
*
198
* \param os ostream.
199
* \param unit Time unit.
200
*/
201
void
Print
(std::ostream& os,
Time::Unit
unit)
const
;
202
203
// Inherited methods
204
uint32_t
GetSerializedSize
()
const override
;
205
void
Serialize
(
Buffer::Iterator
start)
const override
;
206
uint32_t
Deserialize
(
Buffer::Iterator
start)
override
;
207
void
Print
(std::ostream& os)
const override
;
208
TypeId
GetInstanceTypeId
()
const override
;
209
210
private
:
211
uint8_t
m_frameNo
;
//!< Reservation frame number.
212
uint8_t
m_noFrames
;
//!< Number of data frames in reservation.
213
uint16_t
m_length
;
//!< Number of bytes (including headers) in data.
214
Time
m_timeStamp
;
//!< RTS TX timestamp.
215
uint8_t
m_retryNo
;
//!< Retry number of RTS packet.
216
217
};
// class UanHeaderRcRts
218
219
/**
220
* \ingroup uan
221
*
222
* Cycle broadcast information.
223
*
224
* This includes the rate number, retry rate and window time.
225
*/
226
class
UanHeaderRcCtsGlobal
:
public
Header
227
{
228
public
:
229
/** Default constructor */
230
UanHeaderRcCtsGlobal
();
231
/**
232
* Constructor
233
*
234
* \param wt Window time.
235
* \param ts Timestamp.
236
* \param rate Rate number.
237
* \param retryRate Retry rate value.
238
*/
239
UanHeaderRcCtsGlobal
(
Time
wt,
Time
ts, uint16_t rate, uint16_t retryRate);
240
/** Destructor */
241
~UanHeaderRcCtsGlobal
()
override
;
242
243
/**
244
* Register this type.
245
* \return The TypeId.
246
*/
247
static
TypeId
GetTypeId
();
248
249
/**
250
* Set the rate number corresponding to data rate of current cycle.
251
* \param rate The rate number.
252
*/
253
void
SetRateNum
(uint16_t rate);
254
/**
255
* Set the retry rate number for the current cycle.
256
* \param rate The retry rate number
257
*/
258
void
SetRetryRate
(uint16_t rate);
259
/**
260
* Set the window time (time duration following blocking time
261
* to allow RTS transmissions).
262
*
263
* \param t The window time.
264
*/
265
void
SetWindowTime
(
Time
t);
266
267
/**
268
* Set the CTS timestamp.
269
*
270
* \param timeStamp The time of CTS transmission.
271
*/
272
void
SetTxTimeStamp
(
Time
timeStamp);
273
274
/**
275
* Get the data rate number.
276
*
277
* \return The rate number.
278
*/
279
uint16_t
GetRateNum
()
const
;
280
/**
281
* Get the retry rate number.
282
*
283
* \return The retry rate number.
284
*/
285
uint16_t
GetRetryRate
()
const
;
286
/**
287
* Get the window time (time duration following blocking time
288
* to allow RTS transmissions).
289
*
290
* \return The window time.
291
*/
292
Time
GetWindowTime
()
const
;
293
/**
294
* Get the CTS transmit timestamp.
295
*
296
* \return The timestamp.
297
*/
298
Time
GetTxTimeStamp
()
const
;
299
/**
300
* Specialized Print with Time::Unit declared.
301
*
302
* \param os ostream.
303
* \param unit Time unit.
304
*/
305
void
Print
(std::ostream& os,
Time::Unit
unit)
const
;
306
307
// Inherited methods
308
uint32_t
GetSerializedSize
()
const override
;
309
void
Serialize
(
Buffer::Iterator
start)
const override
;
310
uint32_t
Deserialize
(
Buffer::Iterator
start)
override
;
311
void
Print
(std::ostream& os)
const override
;
312
TypeId
GetInstanceTypeId
()
const override
;
313
314
private
:
315
Time
m_timeStampTx
;
//!< Timestamp.
316
Time
m_winTime
;
//!< Window time.
317
uint16_t
m_retryRate
;
//!< Retry rate.
318
uint16_t
m_rateNum
;
//!< Rate number.
319
320
};
// class UanHeaderRcCtsGlobal
321
322
/**
323
* \ingroup uan
324
*
325
* CTS header
326
*
327
* Includes RTS RX time, CTS TX time, delay until TX, RTS blocking period,
328
* RTS tx period, rate #, and retry rate #
329
*/
330
class
UanHeaderRcCts
:
public
Header
331
{
332
public
:
333
/** Default constructor */
334
UanHeaderRcCts
();
335
/**
336
* Constructor
337
*
338
* \param frameNo Reservation frame # being cleared.
339
* \param retryNo Retry # of received RTS packet.
340
* \param rtsTs RX time of RTS packet at gateway.
341
* \param delay Delay until transmission.
342
* \param addr Destination of CTS packet.
343
* \note Times are serialized, with ms precision, into 32 bit fields.
344
*/
345
UanHeaderRcCts
(uint8_t frameNo, uint8_t retryNo,
Time
rtsTs,
Time
delay,
Mac8Address
addr);
346
/** Destructor */
347
~UanHeaderRcCts
()
override
;
348
349
/**
350
* Register this type.
351
* \return The TypeId.
352
*/
353
static
TypeId
GetTypeId
();
354
355
/**
356
* Set the RTS frame number being cleared.
357
*
358
* \param frameNo The frame number.
359
*/
360
void
SetFrameNo
(uint8_t frameNo);
361
/**
362
* Set the timestamp for RTS reception.
363
*
364
* \param timeStamp The timestamp.
365
*/
366
void
SetRtsTimeStamp
(
Time
timeStamp);
367
/**
368
* Set the time delay from CTS transmission to first data frame arrival.
369
*
370
* \param delay The delay time.
371
*/
372
void
SetDelayToTx
(
Time
delay);
373
/**
374
* Set the retry number of the RTS frame being cleared.
375
*
376
* \param no The retry number.
377
*/
378
void
SetRetryNo
(uint8_t no);
379
/**
380
* Set the destination address, for scheduling info.
381
*
382
* \param addr The destination address.
383
*/
384
void
SetAddress
(
Mac8Address
addr);
385
386
/**
387
* Get the frame number of the RTS being cleared.
388
*
389
* \return The frame number.
390
*/
391
uint8_t
GetFrameNo
()
const
;
392
/**
393
* Get the receive time of the RTS being cleared.
394
*
395
* \return The RX time.
396
*/
397
Time
GetRtsTimeStamp
()
const
;
398
/**
399
* Get the time delay from TX time of CTS packet until
400
* arrival of first data frame.
401
*
402
* \return The delay time.
403
*/
404
Time
GetDelayToTx
()
const
;
405
/**
406
* Get the retry number of the RTS packet being cleared.
407
*
408
* \return The retry number
409
*/
410
uint8_t
GetRetryNo
()
const
;
411
/**
412
* Get the destination address, for scheduling info.
413
*
414
* \return The destination address.
415
*/
416
Mac8Address
GetAddress
()
const
;
417
/**
418
* Specialized Print with Time::Unit declared.
419
*
420
* \param os ostream.
421
* \param unit Time unit.
422
*/
423
void
Print
(std::ostream& os,
Time::Unit
unit)
const
;
424
425
// Inherited methods
426
uint32_t
GetSerializedSize
()
const override
;
427
void
Serialize
(
Buffer::Iterator
start)
const override
;
428
uint32_t
Deserialize
(
Buffer::Iterator
start)
override
;
429
void
Print
(std::ostream& os)
const override
;
430
TypeId
GetInstanceTypeId
()
const override
;
431
432
private
:
433
uint8_t
m_frameNo
;
//!< Reservation frame number being cleared.
434
Time
m_timeStampRts
;
//!< RX time of RTS packet at gateway.
435
uint8_t
m_retryNo
;
//!< Retry number of received RTS packet.
436
Time
m_delay
;
//!< Delay until transmission.
437
Mac8Address
m_address
;
//!< Destination of CTS packet.
438
439
};
// class UanHeaderRcCts
440
441
/**
442
* \ingroup uan
443
*
444
* Header used for ACK packets by protocol UanMacRc
445
*/
446
class
UanHeaderRcAck
:
public
Header
447
{
448
public
:
449
/** Default constructor */
450
UanHeaderRcAck
();
451
/** Destructor */
452
~UanHeaderRcAck
()
override
;
453
454
/**
455
* Register this type.
456
* \return The TypeId.
457
*/
458
static
TypeId
GetTypeId
();
459
460
/**
461
* Set the frame number of the reservation being acknowledged.
462
*
463
* \param frameNo The frame number.
464
*/
465
void
SetFrameNo
(uint8_t frameNo);
466
/**
467
* NACK a frame.
468
*
469
* \param frame The data frame number being NACKed.
470
*/
471
void
AddNackedFrame
(uint8_t frame);
472
473
/**
474
* Get the set of NACK'ed frames.
475
*
476
* \return The set of NACK'ed frames.
477
*/
478
const
std::set<uint8_t>&
GetNackedFrames
()
const
;
479
/**
480
* Get the reservation frame number being ACKed.
481
*
482
* \return The frame number.
483
*/
484
uint8_t
GetFrameNo
()
const
;
485
/**
486
* Get the number of data frames being NACKed.
487
*
488
* \return The number of NACKed frames.
489
*/
490
uint8_t
GetNoNacks
()
const
;
491
492
// Inherited methods
493
uint32_t
GetSerializedSize
()
const override
;
494
void
Serialize
(
Buffer::Iterator
start)
const override
;
495
uint32_t
Deserialize
(
Buffer::Iterator
start)
override
;
496
void
Print
(std::ostream& os)
const override
;
497
TypeId
GetInstanceTypeId
()
const override
;
498
499
private
:
500
uint8_t
m_frameNo
;
//!< Next frame number.
501
std::set<uint8_t>
m_nackedFrames
;
//!< Marker for nacked frames.
502
503
};
// class UanHeaderRcAck
504
505
}
// namespace ns3
506
507
#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:48
ns3::UanHeaderRcAck
Header used for ACK packets by protocol UanMacRc.
Definition
uan-header-rc.h:447
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:500
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:501
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:227
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:315
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:316
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:317
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:318
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:331
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:437
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:436
ns3::UanHeaderRcCts::m_timeStampRts
Time m_timeStampRts
RX time of RTS packet at gateway.
Definition
uan-header-rc.h:434
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:433
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:435
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:106
ns3::UanHeaderRcRts::m_length
uint16_t m_length
Number of bytes (including headers) in data.
Definition
uan-header-rc.h:213
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:215
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:212
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:211
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:214
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 Fri Nov 8 2024 13:59:06 for ns-3 by
1.11.0