xrpld
Loading...
Searching...
No Matches
xrpl::test::csf::Submitter< Distribution, Generator, Selector > Class Template Reference

Submits transactions to a specified peer. More...

#include <submitters.h>

Collaboration diagram for xrpl::test::csf::Submitter< Distribution, Generator, Selector >:

Public Member Functions

 Submitter (Distribution dist, SimTime start, SimTime end, Selector &selector, Scheduler &s, Generator &g)

Private Member Functions

void submit ()

Static Private Member Functions

static SimDuration asDuration (SimDuration d)
template<class T>
static std::enable_if_t< std::is_arithmetic_v< T >, SimDurationasDuration (T t)

Private Attributes

Distribution dist_
SimTime stop_
std::uint32_t nextID_ = 0
Selector selector_
Schedulerscheduler_
Generator & g_

Detailed Description

template<class Distribution, class Generator, class Selector>
class xrpl::test::csf::Submitter< Distribution, Generator, Selector >

Submits transactions to a specified peer.

Submits successive transactions beginning at start, then spaced according to successive calls of distribution(), until stop.

Template Parameters
Distributionis a UniformRandomBitGenerator from the STL that is used by random distributions to generate random samples
Generatoris an object with member
    T operator()(Generator &g)

    which generates the delay T in SimDuration units to the next
    transaction. For the current definition of SimDuration, this is
    currently the number of nanoseconds. Submitter internally casts
    arithmetic T to SimDuration::rep units to allow using standard
    library distributions as a Distribution.

Definition at line 46 of file submitters.h.

Constructor & Destructor Documentation

◆ Submitter()

template<class Distribution, class Generator, class Selector>
xrpl::test::csf::Submitter< Distribution, Generator, Selector >::Submitter ( Distribution dist,
SimTime start,
SimTime end,
Selector & selector,
Scheduler & s,
Generator & g )

Definition at line 80 of file submitters.h.

Member Function Documentation

◆ asDuration() [1/2]

template<class Distribution, class Generator, class Selector>
SimDuration xrpl::test::csf::Submitter< Distribution, Generator, Selector >::asDuration ( SimDuration d)
staticprivate

Definition at line 57 of file submitters.h.

◆ asDuration() [2/2]

template<class Distribution, class Generator, class Selector>
template<class T>
std::enable_if_t< std::is_arithmetic_v< T >, SimDuration > xrpl::test::csf::Submitter< Distribution, Generator, Selector >::asDuration ( T t)
staticprivate

Definition at line 64 of file submitters.h.

◆ submit()

template<class Distribution, class Generator, class Selector>
void xrpl::test::csf::Submitter< Distribution, Generator, Selector >::submit ( )
private

Definition at line 70 of file submitters.h.

Member Data Documentation

◆ dist_

template<class Distribution, class Generator, class Selector>
Distribution xrpl::test::csf::Submitter< Distribution, Generator, Selector >::dist_
private

Definition at line 48 of file submitters.h.

◆ stop_

template<class Distribution, class Generator, class Selector>
SimTime xrpl::test::csf::Submitter< Distribution, Generator, Selector >::stop_
private

Definition at line 49 of file submitters.h.

◆ nextID_

template<class Distribution, class Generator, class Selector>
std::uint32_t xrpl::test::csf::Submitter< Distribution, Generator, Selector >::nextID_ = 0
private

Definition at line 50 of file submitters.h.

◆ selector_

template<class Distribution, class Generator, class Selector>
Selector xrpl::test::csf::Submitter< Distribution, Generator, Selector >::selector_
private

Definition at line 51 of file submitters.h.

◆ scheduler_

template<class Distribution, class Generator, class Selector>
Scheduler& xrpl::test::csf::Submitter< Distribution, Generator, Selector >::scheduler_
private

Definition at line 52 of file submitters.h.

◆ g_

template<class Distribution, class Generator, class Selector>
Generator& xrpl::test::csf::Submitter< Distribution, Generator, Selector >::g_
private

Definition at line 53 of file submitters.h.