rippled
Public Member Functions | Private Types | Private Attributes | List of all members
ripple::SeqEnforcer< Seq > Class Template Reference

Enforce validation increasing sequence requirement. More...

Public Member Functions

bool operator() (time_point now, Seq s, ValidationParms const &p)
 Try advancing the largest observed validation ledger sequence. More...
 
Seq largest () const
 

Private Types

using time_point = std::chrono::steady_clock::time_point
 

Private Attributes

Seq seq_ {0}
 
time_point when_
 

Detailed Description

template<class Seq>
class ripple::SeqEnforcer< Seq >

Enforce validation increasing sequence requirement.

Helper class for enforcing that a validation must be larger than all unexpired validation sequence numbers previously issued by the validator tracked by the instance of this class.

Definition at line 98 of file Validations.h.

Member Typedef Documentation

◆ time_point

template<class Seq >
using ripple::SeqEnforcer< Seq >::time_point = std::chrono::steady_clock::time_point
private

Definition at line 100 of file Validations.h.

Member Function Documentation

◆ operator()()

template<class Seq >
bool ripple::SeqEnforcer< Seq >::operator() ( time_point  now,
Seq  s,
ValidationParms const &  p 
)

Try advancing the largest observed validation ledger sequence.

Try setting the largest validation sequence observed, but return false if it violates the invariant that a validation must be larger than all unexpired validation sequence numbers.

Parameters
nowThe current time
sThe sequence number we want to validate
pValidation parameters
Returns
Whether the validation satisfies the invariant

Definition at line 118 of file Validations.h.

◆ largest()

template<class Seq >
Seq ripple::SeqEnforcer< Seq >::largest ( ) const

Definition at line 130 of file Validations.h.

Member Data Documentation

◆ seq_

template<class Seq >
Seq ripple::SeqEnforcer< Seq >::seq_ {0}
private

Definition at line 101 of file Validations.h.

◆ when_

template<class Seq >
time_point ripple::SeqEnforcer< Seq >::when_
private

Definition at line 102 of file Validations.h.