A Discrete-Event Network Simulator
API
bench-packets.cc File Reference
#include "ns3/command-line.h"
#include "ns3/system-wall-clock-ms.h"
#include "ns3/packet.h"
#include "ns3/packet-metadata.h"
#include <iostream>
#include <sstream>
#include <string>
#include <stdlib.h>
#include <limits>
#include <algorithm>
+ Include dependency graph for bench-packets.cc:

Go to the source code of this file.

Classes

class  BenchHeader< N >
 BenchHeader class used for benchmarking packet serialization/deserialization. More...
 
class  BenchTag< N >
 BenchTag class used for benchmarking packet serialization/deserialization. More...
 

Functions

static void benchA (uint32_t n)
 
static void benchB (uint32_t n)
 
static void benchByteTags (uint32_t n)
 
static void benchC (uint32_t n)
 
static void benchD (uint32_t n)
 
static void benchFragment (uint32_t n)
 
static void C1 (Ptr< Packet > p)
 
static void C2 (Ptr< Packet > p)
 
static void runBench (void(*bench)(uint32_t), uint32_t n, uint32_t minIterations, char const *name)
 
static uint64_t runBenchOneIteration (void(*bench)(uint32_t), uint32_t n)
 

Function Documentation

◆ benchA()

static void benchA ( uint32_t  n)
static

Definition at line 223 of file bench-packets.cc.

References ns3::Packet::AddHeader(), ns3::Packet::Copy(), BenchHeader< N >::IsOk(), NS_ASSERT_MSG, and ns3::Packet::RemoveHeader().

+ Here is the call graph for this function:

◆ benchB()

static void benchB ( uint32_t  n)
static

Definition at line 243 of file bench-packets.cc.

References ns3::Packet::AddHeader().

+ Here is the call graph for this function:

◆ benchByteTags()

static void benchByteTags ( uint32_t  n)
static

Definition at line 314 of file bench-packets.cc.

References ns3::Packet::AddAtEnd(), and ns3::Packet::AddByteTag().

+ Here is the call graph for this function:

◆ benchC()

static void benchC ( uint32_t  n)
static

Definition at line 272 of file bench-packets.cc.

References ns3::Packet::AddHeader(), and C1().

+ Here is the call graph for this function:

◆ benchD()

static void benchD ( uint32_t  n)
static

Definition at line 199 of file bench-packets.cc.

References ns3::Packet::AddHeader(), ns3::Packet::AddPacketTag(), ns3::Packet::Copy(), ns3::Packet::RemoveHeader(), and ns3::Packet::RemovePacketTag().

+ Here is the call graph for this function:

◆ benchFragment()

static void benchFragment ( uint32_t  n)
static

Definition at line 286 of file bench-packets.cc.

References ns3::Packet::AddAtEnd(), ns3::Packet::AddHeader(), ns3::Packet::CreateFragment(), and ns3::Packet::RemoveHeader().

+ Here is the call graph for this function:

◆ C1()

static void C1 ( Ptr< Packet p)
static

Definition at line 264 of file bench-packets.cc.

References C2(), and ns3::Packet::RemoveHeader().

Referenced by benchC().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ C2()

static void C2 ( Ptr< Packet p)
static

Definition at line 256 of file bench-packets.cc.

References ns3::Packet::RemoveHeader().

Referenced by C1().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ runBench()

static void runBench ( void(*)(uint32_t)  bench,
uint32_t  n,
uint32_t  minIterations,
char const *  name 
)
static

Definition at line 343 of file bench-packets.cc.

References max, min, and runBenchOneIteration().

+ Here is the call graph for this function:

◆ runBenchOneIteration()

static uint64_t runBenchOneIteration ( void(*)(uint32_t)  bench,
uint32_t  n 
)
static

Definition at line 332 of file bench-packets.cc.

References ns3::SystemWallClockMs::End(), and ns3::SystemWallClockMs::Start().

Referenced by runBench().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: