A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
uan-header-rc.h
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2009 University of Washington
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License version 2 as
7
* published by the Free Software Foundation;
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
*
18
* Author: Leonard Tracy <lentracy@gmail.com>
19
*/
20
21
22
#ifndef UAN_HEADER_RC_H
23
#define UAN_HEADER_RC_H
24
25
#include "ns3/header.h"
26
#include "ns3/nstime.h"
27
#include "ns3/uan-address.h"
28
29
#include <set>
30
31
namespace
ns3 {
32
41
class
UanHeaderRcData
:
public
Header
42
{
43
public
:
44
UanHeaderRcData
();
50
UanHeaderRcData
(uint8_t frameNum,
Time
propDelay);
51
virtual
~UanHeaderRcData
();
52
53
static
TypeId
GetTypeId
(
void
);
54
58
void
SetFrameNo
(uint8_t frameNum);
63
void
SetPropDelay
(
Time
propDelay);
67
uint8_t
GetFrameNo
(
void
)
const
;
72
Time
GetPropDelay
(
void
)
const
;
73
74
// Inherrited methods
75
virtual
uint32_t
GetSerializedSize
(
void
)
const
;
76
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
77
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start);
78
virtual
void
Print
(std::ostream &os)
const
;
79
virtual
TypeId
GetInstanceTypeId
(
void
)
const
;
80
81
private
:
82
uint8_t
m_frameNo
;
83
Time
m_propDelay
;
84
};
85
93
class
UanHeaderRcRts
:
public
Header
94
{
95
public
:
96
UanHeaderRcRts
();
105
UanHeaderRcRts
(uint8_t frameNo, uint8_t retryNo, uint8_t noFrames, uint16_t length,
Time
ts);
106
virtual
~UanHeaderRcRts
();
107
108
static
TypeId
GetTypeId
(
void
);
109
113
void
SetFrameNo
(uint8_t fno);
117
void
SetNoFrames
(uint8_t no);
121
void
SetTimeStamp
(
Time
timeStamp);
126
void
SetLength
(uint16_t length);
130
void
SetRetryNo
(uint8_t no);
131
135
uint8_t
GetFrameNo
(
void
)
const
;
139
uint8_t
GetNoFrames
(
void
)
const
;
144
Time
GetTimeStamp
(
void
)
const
;
148
uint16_t
GetLength
(
void
)
const
;
152
uint8_t
GetRetryNo
(
void
)
const
;
153
154
// Inherrited methods
155
virtual
uint32_t
GetSerializedSize
(
void
)
const
;
156
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
157
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start);
158
virtual
void
Print
(std::ostream &os)
const
;
159
virtual
TypeId
GetInstanceTypeId
(
void
)
const
;
160
161
private
:
162
uint8_t
m_frameNo
;
163
uint8_t
m_noFrames
;
164
uint16_t
m_length
;
165
Time
m_timeStamp
;
166
uint8_t
m_retryNo
;
167
};
168
176
class
UanHeaderRcCtsGlobal
:
public
Header
177
{
178
public
:
182
UanHeaderRcCtsGlobal
();
190
UanHeaderRcCtsGlobal
(
Time
wt,
Time
ts, uint16_t rate, uint16_t retryRate);
191
~UanHeaderRcCtsGlobal
();
192
193
static
TypeId
GetTypeId
(
void
);
194
198
void
SetRateNum
(uint16_t rate);
202
void
SetRetryRate
(uint16_t rate);
206
void
SetWindowTime
(
Time
t);
207
211
void
SetTxTimeStamp
(
Time
timeStamp);
212
216
uint16_t
GetRateNum
(
void
)
const
;
220
uint16_t
GetRetryRate
(
void
)
const
;
224
Time
GetWindowTime
(
void
)
const
;
228
Time
GetTxTimeStamp
(
void
)
const
;
229
230
// Inherrited methods
231
virtual
uint32_t
GetSerializedSize
(
void
)
const
;
232
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
233
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start);
234
virtual
void
Print
(std::ostream &os)
const
;
235
virtual
TypeId
GetInstanceTypeId
(
void
)
const
;
236
237
private
:
238
Time
m_timeStampTx
;
239
Time
m_winTime
;
240
uint16_t
m_retryRate
;
241
uint16_t
m_rateNum
;
242
};
252
class
UanHeaderRcCts
:
public
Header
253
{
254
public
:
255
UanHeaderRcCts
();
264
UanHeaderRcCts
(uint8_t frameNo, uint8_t retryNo,
Time
rtsTs,
Time
delay,
UanAddress
addr);
265
virtual
~UanHeaderRcCts
();
266
267
static
TypeId
GetTypeId
(
void
);
268
272
void
SetFrameNo
(uint8_t frameNo);
276
void
SetRtsTimeStamp
(
Time
timeStamp);
280
void
SetDelayToTx
(
Time
delay);
284
void
SetRetryNo
(uint8_t no);
288
void
SetAddress
(
UanAddress
addr);
289
293
uint8_t
GetFrameNo
(
void
)
const
;
297
Time
GetRtsTimeStamp
(
void
)
const
;
301
Time
GetDelayToTx
(
void
)
const
;
305
uint8_t
GetRetryNo
(
void
)
const
;
309
UanAddress
GetAddress
(
void
)
const
;
310
311
// Inherrited methods
312
virtual
uint32_t
GetSerializedSize
(
void
)
const
;
313
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
314
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start);
315
virtual
void
Print
(std::ostream &os)
const
;
316
virtual
TypeId
GetInstanceTypeId
(
void
)
const
;
317
318
private
:
319
uint8_t
m_frameNo
;
320
Time
m_timeStampRts
;
321
uint8_t
m_retryNo
;
322
Time
m_delay
;
323
UanAddress
m_address
;
324
};
325
330
class
UanHeaderRcAck
:
public
Header
331
{
332
public
:
333
UanHeaderRcAck
();
334
virtual
~UanHeaderRcAck
();
335
336
static
TypeId
GetTypeId
(
void
);
337
341
void
SetFrameNo
(uint8_t frameNo);
345
void
AddNackedFrame
(uint8_t
frame
);
346
350
const
std::set<uint8_t> &
GetNackedFrames
(
void
)
const
;
354
uint8_t
GetFrameNo
(
void
)
const
;
358
uint8_t
GetNoNacks
(
void
)
const
;
359
360
// Inherrited methods
361
virtual
uint32_t
GetSerializedSize
(
void
)
const
;
362
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
363
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start);
364
virtual
void
Print
(std::ostream &os)
const
;
365
virtual
TypeId
GetInstanceTypeId
(
void
)
const
;
366
367
private
:
368
uint8_t
m_frameNo
;
369
std::set<uint8_t>
m_nackedFrames
;
370
371
};
372
373
}
374
375
#endif
/* UAN_HEADER_RC_H */
ns3::Header
Protocol header serialization and deserialization.
Definition:
header.h:42
ns3::UanHeaderRcCts::Serialize
virtual void Serialize(Buffer::Iterator start) const
Definition:
uan-header-rc.cc:491
ns3::UanHeaderRcData::GetPropDelay
Time GetPropDelay(void) const
Definition:
uan-header-rc.cc:82
ns3::UanHeaderRcRts::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Definition:
uan-header-rc.cc:237
ns3::UanHeaderRcAck::Serialize
virtual void Serialize(Buffer::Iterator start) const
Definition:
uan-header-rc.cc:582
ns3::UanHeaderRcRts::SetNoFrames
void SetNoFrames(uint8_t no)
Definition:
uan-header-rc.cc:168
ns3::Time
keep track of time values and allow control of global simulation resolution
Definition:
nstime.h:81
ns3::UanHeaderRcAck::GetFrameNo
uint8_t GetFrameNo(void) const
Definition:
uan-header-rc.cc:564
ns3::UanHeaderRcRts::GetTypeId
static TypeId GetTypeId(void)
Definition:
uan-header-rc.cc:151
ns3::UanHeaderRcData::SetPropDelay
void SetPropDelay(Time propDelay)
Definition:
uan-header-rc.cc:70
ns3::UanHeaderRcCtsGlobal
Cycle broadcast information for.
Definition:
uan-header-rc.h:176
ns3::UanHeaderRcCts::GetRetryNo
uint8_t GetRetryNo(void) const
Definition:
uan-header-rc.cc:472
ns3::UanHeaderRcCtsGlobal::SetRateNum
void SetRateNum(uint16_t rate)
Definition:
uan-header-rc.cc:300
ns3::UanHeaderRcCtsGlobal::UanHeaderRcCtsGlobal
UanHeaderRcCtsGlobal()
Create UanHeaderRcCtsGlobal with fields zeroed out.
Definition:
uan-header-rc.cc:264
ns3::UanHeaderRcAck::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Definition:
uan-header-rc.cc:576
ns3::UanHeaderRcCts::SetRetryNo
void SetRetryNo(uint8_t no)
Definition:
uan-header-rc.cc:443
ns3::UanHeaderRcData::SetFrameNo
void SetFrameNo(uint8_t frameNum)
Definition:
uan-header-rc.cc:64
ns3::UanHeaderRcAck
Header used for ACK packets by protocol ns3::UanMacRc.
Definition:
uan-header-rc.h:330
ns3::UanHeaderRcRts::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Definition:
uan-header-rc.cc:256
ns3::UanHeaderRcRts
RTS header.
Definition:
uan-header-rc.h:93
ns3::UanHeaderRcCts::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Definition:
uan-header-rc.cc:501
ns3::UanHeaderRcCts::SetAddress
void SetAddress(UanAddress addr)
Definition:
uan-header-rc.cc:449
ns3::UanHeaderRcRts::m_frameNo
uint8_t m_frameNo
Definition:
uan-header-rc.h:162
ns3::UanHeaderRcCts
CTS header.
Definition:
uan-header-rc.h:252
ns3::UanHeaderRcCtsGlobal::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Definition:
uan-header-rc.cc:380
ns3::UanHeaderRcCtsGlobal::m_rateNum
uint16_t m_rateNum
Definition:
uan-header-rc.h:241
visualizer.core.start
def start
Definition:
core.py:1482
ns3::UanHeaderRcCtsGlobal::m_winTime
Time m_winTime
Definition:
uan-header-rc.h:239
ns3::UanHeaderRcAck::m_frameNo
uint8_t m_frameNo
Definition:
uan-header-rc.h:368
ns3::UanHeaderRcRts::m_length
uint16_t m_length
Definition:
uan-header-rc.h:164
ns3::UanHeaderRcCtsGlobal::SetWindowTime
void SetWindowTime(Time t)
Definition:
uan-header-rc.cc:312
ns3::UanHeaderRcRts::GetFrameNo
uint8_t GetFrameNo(void) const
Definition:
uan-header-rc.cc:214
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition:
buffer.h:98
ns3::UanHeaderRcAck::m_nackedFrames
std::set< uint8_t > m_nackedFrames
Definition:
uan-header-rc.h:369
ns3::UanHeaderRcAck::GetNackedFrames
const std::set< uint8_t > & GetNackedFrames(void) const
Definition:
uan-header-rc.cc:558
ns3::UanAddress
Definition:
uan-address.h:37
ns3::UanHeaderRcAck::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Definition:
uan-header-rc.cc:624
ns3::UanHeaderRcCts::m_retryNo
uint8_t m_retryNo
Definition:
uan-header-rc.h:321
ns3::UanHeaderRcRts::GetTimeStamp
Time GetTimeStamp(void) const
Definition:
uan-header-rc.cc:202
ns3::UanHeaderRcRts::Serialize
virtual void Serialize(Buffer::Iterator start) const
Definition:
uan-header-rc.cc:226
ns3::UanHeaderRcCts::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Definition:
uan-header-rc.cc:520
ns3::UanHeaderRcCtsGlobal::Print
virtual void Print(std::ostream &os) const
Definition:
uan-header-rc.cc:374
ns3::UanHeaderRcCts::m_address
UanAddress m_address
Definition:
uan-header-rc.h:323
ns3::UanHeaderRcCtsGlobal::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Definition:
uan-header-rc.cc:362
ns3::UanHeaderRcAck::AddNackedFrame
void AddNackedFrame(uint8_t frame)
Definition:
uan-header-rc.cc:552
ns3::UanHeaderRcAck::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Definition:
uan-header-rc.cc:594
ns3::UanHeaderRcCts::m_delay
Time m_delay
Definition:
uan-header-rc.h:322
ns3::UanHeaderRcRts::GetRetryNo
uint8_t GetRetryNo(void) const
Definition:
uan-header-rc.cc:208
ns3::UanHeaderRcCts::GetAddress
UanAddress GetAddress(void) const
Definition:
uan-header-rc.cc:478
ns3::UanHeaderRcRts::SetLength
void SetLength(uint16_t length)
Definition:
uan-header-rc.cc:174
ns3::UanHeaderRcData::GetFrameNo
uint8_t GetFrameNo(void) const
Definition:
uan-header-rc.cc:76
ns3::UanHeaderRcRts::SetTimeStamp
void SetTimeStamp(Time timeStamp)
Definition:
uan-header-rc.cc:179
ns3::UanHeaderRcCts::m_timeStampRts
Time m_timeStampRts
Definition:
uan-header-rc.h:320
ns3::UanHeaderRcCtsGlobal::GetTypeId
static TypeId GetTypeId(void)
Definition:
uan-header-rc.cc:288
ns3::UanHeaderRcCts::GetRtsTimeStamp
Time GetRtsTimeStamp(void) const
Definition:
uan-header-rc.cc:460
ns3::UanHeaderRcCts::SetDelayToTx
void SetDelayToTx(Time delay)
Definition:
uan-header-rc.cc:437
ns3::UanHeaderRcAck::~UanHeaderRcAck
virtual ~UanHeaderRcAck()
Definition:
uan-header-rc.cc:530
ns3::UanHeaderRcCts::SetFrameNo
void SetFrameNo(uint8_t frameNo)
Definition:
uan-header-rc.cc:424
ns3::UanHeaderRcCts::Print
virtual void Print(std::ostream &os) const
Definition:
uan-header-rc.cc:514
ns3::UanHeaderRcCtsGlobal::m_timeStampTx
Time m_timeStampTx
Definition:
uan-header-rc.h:238
ns3::UanHeaderRcCtsGlobal::GetWindowTime
Time GetWindowTime(void) const
Definition:
uan-header-rc.cc:324
ns3::UanHeaderRcCtsGlobal::GetRateNum
uint16_t GetRateNum(void) const
Definition:
uan-header-rc.cc:342
ns3::UanHeaderRcCts::~UanHeaderRcCts
virtual ~UanHeaderRcCts()
Definition:
uan-header-rc.cc:407
ns3::UanHeaderRcCtsGlobal::SetTxTimeStamp
void SetTxTimeStamp(Time timeStamp)
Definition:
uan-header-rc.cc:318
ns3::UanHeaderRcRts::GetNoFrames
uint8_t GetNoFrames(void) const
Definition:
uan-header-rc.cc:190
ns3::UanHeaderRcData::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Definition:
uan-header-rc.cc:117
ns3::UanHeaderRcCts::SetRtsTimeStamp
void SetRtsTimeStamp(Time timeStamp)
Definition:
uan-header-rc.cc:430
ns3::UanHeaderRcData::GetTypeId
static TypeId GetTypeId(void)
Definition:
uan-header-rc.cc:54
visualizer.higcontainer.frame
tuple frame
Definition:
higcontainer.py:87
ns3::UanHeaderRcData::m_frameNo
uint8_t m_frameNo
Definition:
uan-header-rc.h:82
ns3::UanHeaderRcData::UanHeaderRcData
UanHeaderRcData()
Definition:
uan-header-rc.cc:34
ns3::UanHeaderRcCtsGlobal::Serialize
virtual void Serialize(Buffer::Iterator start) const
Definition:
uan-header-rc.cc:353
ns3::UanHeaderRcCtsGlobal::m_retryRate
uint16_t m_retryRate
Definition:
uan-header-rc.h:240
ns3::UanHeaderRcAck::GetNoNacks
uint8_t GetNoNacks(void) const
Definition:
uan-header-rc.cc:570
ns3::UanHeaderRcData::Serialize
virtual void Serialize(Buffer::Iterator start) const
Definition:
uan-header-rc.cc:94
ns3::UanHeaderRcData::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Definition:
uan-header-rc.cc:100
ns3::UanHeaderRcData::m_propDelay
Time m_propDelay
Definition:
uan-header-rc.h:83
ns3::UanHeaderRcData::Print
virtual void Print(std::ostream &os) const
Definition:
uan-header-rc.cc:111
ns3::UanHeaderRcAck::Print
virtual void Print(std::ostream &os) const
Definition:
uan-header-rc.cc:608
ns3::UanHeaderRcRts::~UanHeaderRcRts
virtual ~UanHeaderRcRts()
Definition:
uan-header-rc.cc:145
ns3::UanHeaderRcAck::SetFrameNo
void SetFrameNo(uint8_t frameNo)
Definition:
uan-header-rc.cc:546
ns3::UanHeaderRcCts::UanHeaderRcCts
UanHeaderRcCts()
Definition:
uan-header-rc.cc:385
ns3::UanHeaderRcCtsGlobal::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Definition:
uan-header-rc.cc:347
ns3::UanHeaderRcCtsGlobal::GetRetryRate
uint16_t GetRetryRate(void) const
Definition:
uan-header-rc.cc:336
ns3::UanHeaderRcCts::GetFrameNo
uint8_t GetFrameNo(void) const
Definition:
uan-header-rc.cc:454
ns3::UanHeaderRcCts::GetDelayToTx
Time GetDelayToTx(void) const
Definition:
uan-header-rc.cc:466
ns3::UanHeaderRcAck::GetTypeId
static TypeId GetTypeId(void)
Definition:
uan-header-rc.cc:536
ns3::UanHeaderRcCtsGlobal::SetRetryRate
void SetRetryRate(uint16_t rate)
Definition:
uan-header-rc.cc:306
ns3::UanHeaderRcRts::UanHeaderRcRts
UanHeaderRcRts()
Definition:
uan-header-rc.cc:123
ns3::UanHeaderRcRts::m_retryNo
uint8_t m_retryNo
Definition:
uan-header-rc.h:166
ns3::UanHeaderRcCtsGlobal::~UanHeaderRcCtsGlobal
~UanHeaderRcCtsGlobal()
Definition:
uan-header-rc.cc:282
ns3::UanHeaderRcCts::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Definition:
uan-header-rc.cc:484
ns3::UanHeaderRcCts::m_frameNo
uint8_t m_frameNo
Definition:
uan-header-rc.h:319
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:49
ns3::UanHeaderRcCtsGlobal::GetTxTimeStamp
Time GetTxTimeStamp(void) const
Definition:
uan-header-rc.cc:330
ns3::UanHeaderRcRts::m_timeStamp
Time m_timeStamp
Definition:
uan-header-rc.h:165
ns3::UanHeaderRcCts::GetTypeId
static TypeId GetTypeId(void)
Definition:
uan-header-rc.cc:413
ns3::UanHeaderRcRts::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Definition:
uan-header-rc.cc:220
ns3::UanHeaderRcRts::SetRetryNo
void SetRetryNo(uint8_t no)
Definition:
uan-header-rc.cc:185
ns3::UanHeaderRcRts::m_noFrames
uint8_t m_noFrames
Definition:
uan-header-rc.h:163
ns3::UanHeaderRcData
Extra data header information.
Definition:
uan-header-rc.h:41
ns3::UanHeaderRcAck::UanHeaderRcAck
UanHeaderRcAck()
Definition:
uan-header-rc.cc:525
ns3::UanHeaderRcRts::SetFrameNo
void SetFrameNo(uint8_t fno)
Definition:
uan-header-rc.cc:162
ns3::UanHeaderRcRts::GetLength
uint16_t GetLength(void) const
Definition:
uan-header-rc.cc:196
ns3::UanHeaderRcRts::Print
virtual void Print(std::ostream &os) const
Definition:
uan-header-rc.cc:250
ns3::UanHeaderRcData::~UanHeaderRcData
virtual ~UanHeaderRcData()
Definition:
uan-header-rc.cc:49
ns3::UanHeaderRcData::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Definition:
uan-header-rc.cc:88
src
uan
model
uan-header-rc.h
Generated on Sat Nov 16 2013 12:55:39 for ns-3 by
1.8.5