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
tcp-option-sack-permitted.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2011 Adrian Sai-wah Tam
3
* Copyright (c) 2015 ResiliNets, ITTC, University of Kansas
4
*
5
* SPDX-License-Identifier: GPL-2.0-only
6
*
7
* Original Author: Adrian Sai-wah Tam <adrian.sw.tam@gmail.com>
8
* Documentation, test cases: Truc Anh N. Nguyen <annguyen@ittc.ku.edu>
9
* ResiliNets Research Group https://resilinets.org/
10
* The University of Kansas
11
* James P.G. Sterbenz <jpgs@ittc.ku.edu>, director
12
*/
13
14
#ifndef TCP_OPTION_SACK_PERMITTED_H
15
#define TCP_OPTION_SACK_PERMITTED_H
16
17
#include "
tcp-option.h
"
18
19
namespace
ns3
20
{
21
22
/**
23
* \brief Defines the TCP option of kind 4 (selective acknowledgment permitted
24
* option) as in \RFC{2018}
25
*
26
* TCP Sack-Permitted Option is 2-byte in length and sent in a SYN segment by a
27
* TCP host that can recognize and process SACK option during the lifetime of a
28
* connection.
29
*/
30
31
class
TcpOptionSackPermitted
:
public
TcpOption
32
{
33
public
:
34
/**
35
* \brief Get the type ID.
36
* \return the object TypeId
37
*/
38
static
TypeId
GetTypeId
();
39
TypeId
GetInstanceTypeId
()
const override
;
40
41
TcpOptionSackPermitted
();
42
~TcpOptionSackPermitted
()
override
;
43
44
void
Print
(std::ostream& os)
const override
;
45
void
Serialize
(
Buffer::Iterator
start)
const override
;
46
uint32_t
Deserialize
(
Buffer::Iterator
start)
override
;
47
48
uint8_t
GetKind
()
const override
;
49
uint32_t
GetSerializedSize
()
const override
;
50
};
51
52
}
// namespace ns3
53
54
#endif
/* TCP_OPTION_SACK_PERMITTED */
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition
buffer.h:89
ns3::TcpOption
Base class for all kinds of TCP options.
Definition
tcp-option.h:27
ns3::TcpOptionSackPermitted
Defines the TCP option of kind 4 (selective acknowledgment permitted option) as in RFC 2018
Definition
tcp-option-sack-permitted.h:32
ns3::TcpOptionSackPermitted::Serialize
void Serialize(Buffer::Iterator start) const override
Serialize the Option to a buffer iterator.
Definition
tcp-option-sack-permitted.cc:62
ns3::TcpOptionSackPermitted::Deserialize
uint32_t Deserialize(Buffer::Iterator start) override
Deserialize the Option from a buffer iterator.
Definition
tcp-option-sack-permitted.cc:70
ns3::TcpOptionSackPermitted::~TcpOptionSackPermitted
~TcpOptionSackPermitted() override
Definition
tcp-option-sack-permitted.cc:29
ns3::TcpOptionSackPermitted::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition
tcp-option-sack-permitted.cc:34
ns3::TcpOptionSackPermitted::Print
void Print(std::ostream &os) const override
Print the Option contents.
Definition
tcp-option-sack-permitted.cc:50
ns3::TcpOptionSackPermitted::TcpOptionSackPermitted
TcpOptionSackPermitted()
Definition
tcp-option-sack-permitted.cc:24
ns3::TcpOptionSackPermitted::GetSerializedSize
uint32_t GetSerializedSize() const override
Returns number of bytes required for Option serialization.
Definition
tcp-option-sack-permitted.cc:56
ns3::TcpOptionSackPermitted::GetKind
uint8_t GetKind() const override
Get the ‘kind’ (as in RFC 793 ) of this option.
Definition
tcp-option-sack-permitted.cc:91
ns3::TcpOptionSackPermitted::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition
tcp-option-sack-permitted.cc:44
ns3::TypeId
a unique identifier for an interface.
Definition
type-id.h:48
uint32_t
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
tcp-option.h
src
internet
model
tcp-option-sack-permitted.h
Generated on Fri Nov 8 2024 13:59:01 for ns-3 by
1.11.0