rippled
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
ripple::DirectIOfferCrossingStep Class Reference
Inheritance diagram for ripple::DirectIOfferCrossingStep:
Inheritance graph
[legend]
Collaboration diagram for ripple::DirectIOfferCrossingStep:
Collaboration graph
[legend]

Public Member Functions

bool verifyPrevStepDebtDirection (DebtDirection prevStepDir) const
 
bool verifyDstQualityIn (std::uint32_t dstQIn) const
 
std::uint32_t quality (ReadView const &sb, QualityDirection qDir) const
 
std::pair< IOUAmount, DebtDirectionmaxFlow (ReadView const &sb, IOUAmount const &desired) const
 
TER check (StrandContext const &ctx, std::shared_ptr< const SLE > const &sleSrc) const
 
std::string logString () const override
 
AccountID const & src () const
 
AccountID const & dst () const
 
Currency const & currency () const
 
std::optional< EitherAmountcachedIn () const override
 
std::optional< EitherAmountcachedOut () const override
 
std::optional< AccountIDdirectStepSrcAcct () const override
 
std::optional< std::pair< AccountID, AccountID > > directStepAccts () const override
 
DebtDirection debtDirection (ReadView const &sb, StrandDirection dir) const override
 
std::uint32_t lineQualityIn (ReadView const &v) const override
 
std::pair< std::optional< Quality >, DebtDirectionqualityUpperBound (ReadView const &v, DebtDirection dir) const override
 
std::pair< IOUAmount, IOUAmountrevImp (PaymentSandbox &sb, ApplyView &afView, boost::container::flat_set< uint256 > &ofrsToRm, IOUAmount const &out)
 
std::pair< IOUAmount, IOUAmountfwdImp (PaymentSandbox &sb, ApplyView &afView, boost::container::flat_set< uint256 > &ofrsToRm, IOUAmount const &in)
 
std::pair< bool, EitherAmountvalidFwd (PaymentSandbox &sb, ApplyView &afView, EitherAmount const &in) override
 
TER check (StrandContext const &ctx) const
 
void setCacheLimiting (IOUAmount const &fwdIn, IOUAmount const &fwdSrcToDst, IOUAmount const &fwdOut, DebtDirection srcDebtDir)
 

Protected Member Functions

std::pair< IOUAmount, DebtDirectionmaxPaymentFlow (ReadView const &sb) const
 
std::pair< std::uint32_t, std::uint32_tqualitiesSrcRedeems (ReadView const &sb) const
 
std::pair< std::uint32_t, std::uint32_tqualitiesSrcIssues (ReadView const &sb, DebtDirection prevStepDebtDirection) const
 
std::pair< std::uint32_t, std::uint32_tqualities (ReadView const &sb, DebtDirection srcDebtDir, StrandDirection strandDir) const
 
std::string logStringImpl (char const *name) const
 

Protected Attributes

AccountID src_
 
AccountID dst_
 
Currency currency_
 
Step const *const prevStep_
 
const bool isLast_
 
const beast::Journal j_
 
std::optional< Cache > cache_
 

Private Member Functions

bool equal (Step const &rhs) const override
 

Detailed Description

Definition at line 276 of file DirectStep.cpp.

Member Function Documentation

◆ verifyPrevStepDebtDirection()

bool ripple::DirectIOfferCrossingStep::verifyPrevStepDebtDirection ( DebtDirection  prevStepDir) const

Definition at line 283 of file DirectStep.cpp.

◆ verifyDstQualityIn()

bool ripple::DirectIOfferCrossingStep::verifyDstQualityIn ( std::uint32_t  dstQIn) const

Definition at line 296 of file DirectStep.cpp.

◆ quality()

std::uint32_t ripple::DirectIOfferCrossingStep::quality ( ReadView const &  sb,
QualityDirection  qDir 
) const

Definition at line 368 of file DirectStep.cpp.

◆ maxFlow()

std::pair< IOUAmount, DebtDirection > ripple::DirectIOfferCrossingStep::maxFlow ( ReadView const &  sb,
IOUAmount const &  desired 
) const

Definition at line 382 of file DirectStep.cpp.

◆ check() [1/2]

TER ripple::DirectIOfferCrossingStep::check ( StrandContext const &  ctx,
std::shared_ptr< const SLE > const &  sleSrc 
) const

Definition at line 460 of file DirectStep.cpp.

◆ logString()

std::string ripple::DirectIOfferCrossingStep::logString ( ) const
override

Definition at line 320 of file DirectStep.cpp.

◆ maxPaymentFlow()

std::pair< IOUAmount, DebtDirection > ripple::DirectStepI< DirectIOfferCrossingStep >::maxPaymentFlow ( ReadView const &  sb) const
protectedinherited

Definition at line 474 of file DirectStep.cpp.

◆ qualitiesSrcRedeems()

std::pair< std::uint32_t, std::uint32_t > ripple::DirectStepI< DirectIOfferCrossingStep >::qualitiesSrcRedeems ( ReadView const &  sb) const
protectedinherited

Definition at line 764 of file DirectStep.cpp.

◆ qualitiesSrcIssues()

std::pair< std::uint32_t, std::uint32_t > ripple::DirectStepI< DirectIOfferCrossingStep >::qualitiesSrcIssues ( ReadView const &  sb,
DebtDirection  prevStepDebtDirection 
) const
protectedinherited

Definition at line 781 of file DirectStep.cpp.

◆ qualities()

std::pair< std::uint32_t, std::uint32_t > ripple::DirectStepI< DirectIOfferCrossingStep >::qualities ( ReadView const &  sb,
DebtDirection  srcDebtDir,
StrandDirection  strandDir 
) const
protectedinherited

Definition at line 804 of file DirectStep.cpp.

◆ src()

Definition at line 107 of file DirectStep.cpp.

◆ dst()

Definition at line 112 of file DirectStep.cpp.

◆ currency()

Currency const& ripple::DirectStepI< DirectIOfferCrossingStep >::currency
inherited

Definition at line 117 of file DirectStep.cpp.

◆ cachedIn()

Definition at line 123 of file DirectStep.cpp.

◆ cachedOut()

Definition at line 131 of file DirectStep.cpp.

◆ directStepSrcAcct()

std::optional<AccountID> ripple::DirectStepI< DirectIOfferCrossingStep >::directStepSrcAcct
overrideinherited

Definition at line 139 of file DirectStep.cpp.

◆ directStepAccts()

Definition at line 145 of file DirectStep.cpp.

◆ debtDirection()

DebtDirection ripple::DirectStepI< DirectIOfferCrossingStep >::debtDirection ( ReadView const &  sb,
StrandDirection  dir 
) const
overrideinherited

Definition at line 490 of file DirectStep.cpp.

◆ lineQualityIn()

std::uint32_t ripple::DirectStepI< DirectIOfferCrossingStep >::lineQualityIn ( ReadView const &  v) const
overrideinherited

Definition at line 826 of file DirectStep.cpp.

◆ qualityUpperBound()

std::pair< std::optional< Quality >, DebtDirection > ripple::DirectStepI< DirectIOfferCrossingStep >::qualityUpperBound ( ReadView const &  v,
DebtDirection  dir 
) const
overrideinherited

Definition at line 834 of file DirectStep.cpp.

◆ revImp()

std::pair< IOUAmount, IOUAmount > ripple::DirectStepI< DirectIOfferCrossingStep >::revImp ( PaymentSandbox sb,
ApplyView afView,
boost::container::flat_set< uint256 > &  ofrsToRm,
IOUAmount const &  out 
)
inherited

Definition at line 504 of file DirectStep.cpp.

◆ fwdImp()

std::pair< IOUAmount, IOUAmount > ripple::DirectStepI< DirectIOfferCrossingStep >::fwdImp ( PaymentSandbox sb,
ApplyView afView,
boost::container::flat_set< uint256 > &  ofrsToRm,
IOUAmount const &  in 
)
inherited

Definition at line 630 of file DirectStep.cpp.

◆ validFwd()

std::pair< bool, EitherAmount > ripple::DirectStepI< DirectIOfferCrossingStep >::validFwd ( PaymentSandbox sb,
ApplyView afView,
EitherAmount const &  in 
)
overrideinherited

Definition at line 710 of file DirectStep.cpp.

◆ check() [2/2]

TER ripple::DirectStepI< DirectIOfferCrossingStep >::check ( StrandContext const &  ctx) const
inherited

Definition at line 875 of file DirectStep.cpp.

◆ setCacheLimiting()

void ripple::DirectStepI< DirectIOfferCrossingStep >::setCacheLimiting ( IOUAmount const &  fwdIn,
IOUAmount const &  fwdSrcToDst,
IOUAmount const &  fwdOut,
DebtDirection  srcDebtDir 
)
inherited

Definition at line 588 of file DirectStep.cpp.

◆ logStringImpl()

std::string ripple::DirectStepI< DirectIOfferCrossingStep >::logStringImpl ( char const *  name) const
protectedinherited

Definition at line 204 of file DirectStep.cpp.

◆ equal()

bool ripple::DirectStepI< DirectIOfferCrossingStep >::equal ( Step const &  rhs) const
overrideprivateinherited

Definition at line 214 of file DirectStep.cpp.

Member Data Documentation

◆ src_

Definition at line 40 of file DirectStep.cpp.

◆ dst_

Definition at line 41 of file DirectStep.cpp.

◆ currency_

Currency ripple::DirectStepI< DirectIOfferCrossingStep >::currency_
protectedinherited

Definition at line 42 of file DirectStep.cpp.

◆ prevStep_

Step const* const ripple::DirectStepI< DirectIOfferCrossingStep >::prevStep_
protectedinherited

Definition at line 45 of file DirectStep.cpp.

◆ isLast_

const bool ripple::DirectStepI< DirectIOfferCrossingStep >::isLast_
protectedinherited

Definition at line 46 of file DirectStep.cpp.

◆ j_

Definition at line 47 of file DirectStep.cpp.

◆ cache_

std::optional<Cache> ripple::DirectStepI< DirectIOfferCrossingStep >::cache_
protectedinherited

Definition at line 66 of file DirectStep.cpp.