xrpld
Loading...
Searching...
No Matches
xrpl::SeqEnforcer< Seq > Class Template Reference

Enforce validation increasing sequence requirement. More...

#include <Validations.h>

Public Member Functions

bool operator() (time_point now, Seq s, ValidationParms const &p)
 Try advancing the largest observed validation ledger sequence.
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 xrpl::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 79 of file Validations.h.

Member Typedef Documentation

◆ time_point

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

Definition at line 81 of file Validations.h.

Member Function Documentation

◆ operator()()

template<class Seq>
bool xrpl::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 99 of file Validations.h.

◆ largest()

template<class Seq>
Seq xrpl::SeqEnforcer< Seq >::largest ( ) const
nodiscard

Definition at line 111 of file Validations.h.

Member Data Documentation

◆ seq_

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

Definition at line 82 of file Validations.h.

◆ when_

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

Definition at line 83 of file Validations.h.