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