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...
 
BasePerfSocketsocket_
 
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
CommandOptionsoptions_
 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 
)
inline

Default and the only constructor of AvalancheScen.

Parameters
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)
protected

\brief Resend packets.

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

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

Definition at line 24 of file avalanche_scen.cc.

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 ( )
overridevirtual

brief\ Run performance test.

Method runs whole performance test.

Returns
execution status.

Implements isc::perfdhcp::AbstractScen.

Definition at line 96 of file avalanche_scen.cc.

Referenced by main().

Member Data Documentation

◆ retransmissions_

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

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_
protected

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_
protected

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_
protected

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: