rippled
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
ripple::test::csf::Submitter< Distribution, Generator, Selector > Class Template Reference

Submits transactions to a specified peer. More...

Collaboration diagram for ripple::test::csf::Submitter< Distribution, Generator, Selector >:
Collaboration graph
[legend]

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< T >::value, 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 ripple::test::csf::Submitter< Distribution, Generator, Selector >

Submits transactions to a specified peer.

Submits successive transactions beginning at start, then spaced according to succesive 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 65 of file submitters.h.

Constructor & Destructor Documentation

◆ Submitter()

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

Definition at line 99 of file submitters.h.

Member Function Documentation

◆ asDuration() [1/2]

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

Definition at line 76 of file submitters.h.

◆ asDuration() [2/2]

template<class Distribution , class Generator , class Selector >
template<class T >
static std::enable_if_t<std::is_arithmetic<T>::value, SimDuration> ripple::test::csf::Submitter< Distribution, Generator, Selector >::asDuration ( t)
staticprivate

Definition at line 83 of file submitters.h.

◆ submit()

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

Definition at line 89 of file submitters.h.

Member Data Documentation

◆ dist_

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

Definition at line 67 of file submitters.h.

◆ stop_

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

Definition at line 68 of file submitters.h.

◆ nextID_

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

Definition at line 69 of file submitters.h.

◆ selector_

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

Definition at line 70 of file submitters.h.

◆ scheduler_

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

Definition at line 71 of file submitters.h.

◆ g_

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

Definition at line 72 of file submitters.h.