Kea  2.3.5-git
isc::perfdhcp::AvalancheScen Class Reference

Avalanche Scenario class. More...

#include <avalanche_scen.h>

+ Inheritance diagram for isc::perfdhcp::AvalancheScen:

Public Member Functions

 AvalancheScen (CommandOptions &options, BasePerfSocket &socket)
 Default and the only constructor of AvalancheScen. More...
int run () override
 brief\ Run performance test. More...
- Public Member Functions inherited from isc::perfdhcp::AbstractScen
 AbstractScen (CommandOptions &options, BasePerfSocket &socket)
 Default and the only constructor of AbstractScen. More...
virtual ~AbstractScen ()
 Trivial virtual destructor. More...

Protected Member Functions

int resendPackets (ExchangeType xchg_type)
 \brief Resend packets. More...

Protected Attributes

std::unordered_map< ExchangeType, std::unordered_map< uint32_t, int >, EnumClassHashretransmissions_
 A map xchg type -> (a map of trans id -> retransmissions count. More...
std::unordered_map< ExchangeType, std::unordered_map< uint32_t, boost::posix_time::ptime >, EnumClassHashstart_times_
 A map xchg type -> (a map of trans id -> time of sending first packet. More...
int total_resent_
 Total number of resent packets. More...
- Protected Attributes inherited from isc::perfdhcp::AbstractScen
 Reference to commandline options. More...
ExchangeType stage1_xchg_
ExchangeType stage2_xchg_
TestControl tc_
 Object for controlling sending and receiving packets. More...

Detailed Description

Avalanche Scenario class.

This class is used to run the performance test where DHCP server is first loaded with indicated buffer of Discover or Solicit messages and then the class is waiting till receiving all required responses. Full DORA and SARR message sequences are expected.

Definition at line 36 of file avalanche_scen.h.

Constructor & Destructor Documentation

◆ AvalancheScen()

isc::perfdhcp::AvalancheScen::AvalancheScen ( CommandOptions options,
BasePerfSocket socket 

Default and the only constructor of AvalancheScen.

optionsreference to command options,
socketreference to a socket.

Definition at line 42 of file avalanche_scen.h.

Member Function Documentation

◆ resendPackets()

int isc::perfdhcp::AvalancheScen::resendPackets ( ExchangeType  xchg_type)

\brief Resend packets.

It resends packets for given exchange type that did not receive a response yet.

xchg_typeexchange type that should be looked for.
number of packets still waiting for resending.

Definition at line 24 of file

References isc::perfdhcp::StatsMgr::getSentPackets(), isc::cryptolink::random(), and isc::dhcp::Pkt::setTimestamp().

+ Here is the call graph for this function:

◆ run()

int isc::perfdhcp::AvalancheScen::run ( )

brief\ Run performance test.

Method runs whole performance test.

execution status.

Implements isc::perfdhcp::AbstractScen.

Definition at line 96 of file

Referenced by main().

Member Data Documentation

◆ retransmissions_

std::unordered_map<ExchangeType, std::unordered_map<uint32_t, int>, EnumClassHash> isc::perfdhcp::AvalancheScen::retransmissions_

A map xchg type -> (a map of trans id -> retransmissions count.

Definition at line 60 of file avalanche_scen.h.

◆ socket_

BasePerfSocket& isc::perfdhcp::AvalancheScen::socket_

Definition at line 57 of file avalanche_scen.h.

◆ start_times_

std::unordered_map<ExchangeType, std::unordered_map<uint32_t, boost::posix_time::ptime>, EnumClassHash> isc::perfdhcp::AvalancheScen::start_times_

A map xchg type -> (a map of trans id -> time of sending first packet.

Definition at line 62 of file avalanche_scen.h.

◆ total_resent_

int isc::perfdhcp::AvalancheScen::total_resent_

Total number of resent packets.

Definition at line 65 of file avalanche_scen.h.

The documentation for this class was generated from the following files: