|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
49 .SetGroupName (
"Internet")
67 os <<
"[" << it->first <<
"," << it->second <<
"]";
102 uint8_t readKind = i.
ReadU8 ();
109 uint8_t size = i.
ReadU8 ();
110 NS_LOG_LOGIC (
"Size: " <<
static_cast<uint32_t
> (size));
112 uint8_t sackCount = (size - 2) / 8;
143 return static_cast<uint32_t
> (
m_sackList.size ());
162 std::stringstream ss;
176 std::stringstream ss;
177 ss <<
"[" << sackBlock.first <<
";" << sackBlock.second <<
"]";
virtual uint32_t GetSerializedSize(void) const
Returns number of bytes required for Option serialization.
virtual void Serialize(Buffer::Iterator start) const
Serialize the Option to a buffer iterator.
a unique identifier for an interface.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
void AddSackBlock(SackBlock s)
Add a SACK block.
Base class for all kinds of TCP options.
#define NS_LOG_WARN(msg)
Use NS_LOG to output a message of level LOG_WARN.
void WriteU8(uint8_t data)
SackList GetSackList(void) const
Get the SACK list.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
virtual uint8_t GetKind(void) const
Get the ‘kind’ (as in RFC 793) of this option.
SequenceNumber< uint32_t, int32_t > SequenceNumber32
32 bit Sequence number.
SackList m_sackList
the list of SACK blocks
Defines the TCP option of kind 5 (selective acknowledgment option) as in RFC 2018
uint32_t GetNumSackBlocks(void) const
Count the total number of SACK blocks.
std::pair< SequenceNumber32, SequenceNumber32 > SackBlock
SACK block definition.
#define NS_LOG_LOGIC(msg)
Use NS_LOG to output a message of level LOG_LOGIC.
iterator in a Buffer instance
NUMERIC_TYPE GetValue() const
Extracts the numeric value of the sequence number.
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the Option from a buffer iterator.
void ClearSackList(void)
Clear the SACK list.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
static TypeId GetTypeId(void)
Get the type ID.
std::ostream & operator<<(std::ostream &os, const Angles &a)
virtual void Print(std::ostream &os) const
Print the Option contents.
uint32_t ReadNtohU32(void)
std::list< SackBlock > SackList
SACK list definition.
void WriteHtonU32(uint32_t data)