rippled
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions | Variables
ripple::Resource Namespace Reference

Classes

class  Charge
 A consumption charge. More...
 
class  Consumer
 An endpoint that consumes resources. More...
 
struct  Entry
 
struct  Gossip
 Data format for exchanging consumption information across peers. More...
 
struct  Import
 A set of imported consumer data from a gossip origin. More...
 
struct  Key
 
class  Logic
 
class  Manager
 Tracks load and resource consumption. More...
 
class  ManagerImp
 
class  ResourceManager_test
 

Typedefs

using clock_type = beast::abstract_clock< std::chrono::steady_clock >
 

Enumerations

enum  Kind { kindInbound , kindOutbound , kindUnlimited }
 Kind of consumer. More...
 
enum  { warningThreshold = 5000 , dropThreshold = 25000 , decayWindowSeconds = 32 , minimumGossipBalance = 1000 }
 Tunable constants. More...
 
enum  Disposition { ok , warn , drop }
 The disposition of a consumer after applying a load charge. More...
 

Functions

std::ostreamoperator<< (std::ostream &os, Charge const &v)
 
std::ostreamoperator<< (std::ostream &os, Consumer const &v)
 
std::ostreamoperator<< (std::ostream &os, Entry const &v)
 
std::unique_ptr< Managermake_Manager (beast::insight::Collector::ptr const &collector, beast::Journal journal)
 
Charge const feeMalformedRequest (200, "malformed request")
 
Charge const feeRequestNoReply (10, "unsatisfiable request")
 
Charge const feeInvalidSignature (2000, "invalid signature")
 
Charge const feeUselessData (150, "useless data")
 
Charge const feeInvalidData (400, "invalid data")
 
Charge const feeMalformedRPC (100, "malformed RPC")
 
Charge const feeReferenceRPC (20, "reference RPC")
 
Charge const feeExceptionRPC (100, "exceptioned RPC")
 
Charge const feeMediumBurdenRPC (400, "medium RPC")
 
Charge const feeHeavyBurdenRPC (3000, "heavy RPC")
 
Charge const feeTrivialPeer (1, "trivial peer request")
 
Charge const feeModerateBurdenPeer (250, "moderate peer request")
 
Charge const feeHeavyBurdenPeer (2000, "heavy peer request")
 
Charge const feeWarning (4000, "received warning")
 
Charge const feeDrop (6000, "dropped")
 
 BEAST_DEFINE_TESTSUITE (ResourceManager, resource, ripple)
 

Variables

std::chrono::seconds constexpr secondsUntilExpiration {300}
 
std::chrono::seconds constexpr gossipExpirationSeconds {30}
 
Charge const feeMalformedRequest
 Schedule of fees charged for imposing load on the server.
 
Charge const feeRequestNoReply
 
Charge const feeInvalidSignature
 
Charge const feeUselessData
 
Charge const feeInvalidData
 
Charge const feeMalformedRPC
 
Charge const feeReferenceRPC
 
Charge const feeExceptionRPC
 
Charge const feeMediumBurdenRPC
 
Charge const feeHeavyBurdenRPC
 
Charge const feeTrivialPeer
 
Charge const feeModerateBurdenPeer
 
Charge const feeHeavyBurdenPeer
 
Charge const feeWarning
 
Charge const feeDrop
 

Typedef Documentation

◆ clock_type

Definition at line 33 of file Entry.h.

Enumeration Type Documentation

◆ Kind

Kind of consumer.

kindInbound: Inbound connection. kindOutbound: Outbound connection. kindUnlimited: Inbound connection with no resource limits, but could be subjected to administrative restrictions, such as use of some RPC commands like "stop".

Enumerator
kindInbound 
kindOutbound 
kindUnlimited 

Definition at line 34 of file Kind.h.

◆ anonymous enum

anonymous enum

Tunable constants.

Enumerator
warningThreshold 
dropThreshold 
decayWindowSeconds 
minimumGossipBalance 

Definition at line 29 of file include/xrpl/resource/detail/Tuning.h.

◆ Disposition

The disposition of a consumer after applying a load charge.

Enumerator
ok 

No action required.

Consumer should be warned that consumption is high.

warn 

Consumer should be disconnected for excess consumption.

drop 

Definition at line 27 of file Disposition.h.

Function Documentation

◆ operator<<() [1/3]

std::ostream & ripple::Resource::operator<< ( std::ostream os,
Charge const &  v 
)

Definition at line 55 of file Charge.cpp.

◆ operator<<() [2/3]

std::ostream & ripple::Resource::operator<< ( std::ostream os,
Consumer const &  v 
)

Definition at line 157 of file Consumer.cpp.

◆ operator<<() [3/3]

std::ostream & ripple::Resource::operator<< ( std::ostream os,
Entry const &  v 
)

Definition at line 107 of file Entry.h.

◆ make_Manager()

std::unique_ptr< Manager > ripple::Resource::make_Manager ( beast::insight::Collector::ptr const &  collector,
beast::Journal  journal 
)

Definition at line 185 of file ResourceManager.cpp.

◆ feeMalformedRequest()

Charge const ripple::Resource::feeMalformedRequest ( 200  ,
"malformed request"   
)

◆ feeRequestNoReply()

Charge const ripple::Resource::feeRequestNoReply ( 10  ,
"unsatisfiable request"   
)

◆ feeInvalidSignature()

Charge const ripple::Resource::feeInvalidSignature ( 2000  ,
"invalid signature"   
)

◆ feeUselessData()

Charge const ripple::Resource::feeUselessData ( 150  ,
"useless data"   
)

◆ feeInvalidData()

Charge const ripple::Resource::feeInvalidData ( 400  ,
"invalid data"   
)

◆ feeMalformedRPC()

Charge const ripple::Resource::feeMalformedRPC ( 100  ,
"malformed RPC"   
)

◆ feeReferenceRPC()

Charge const ripple::Resource::feeReferenceRPC ( 20  ,
"reference RPC"   
)

◆ feeExceptionRPC()

Charge const ripple::Resource::feeExceptionRPC ( 100  ,
"exceptioned RPC"   
)

◆ feeMediumBurdenRPC()

Charge const ripple::Resource::feeMediumBurdenRPC ( 400  ,
"medium RPC"   
)

◆ feeHeavyBurdenRPC()

Charge const ripple::Resource::feeHeavyBurdenRPC ( 3000  ,
"heavy RPC"   
)

◆ feeTrivialPeer()

Charge const ripple::Resource::feeTrivialPeer ( ,
"trivial peer request"   
)

◆ feeModerateBurdenPeer()

Charge const ripple::Resource::feeModerateBurdenPeer ( 250  ,
"moderate peer request"   
)

◆ feeHeavyBurdenPeer()

Charge const ripple::Resource::feeHeavyBurdenPeer ( 2000  ,
"heavy peer request"   
)

◆ feeWarning()

Charge const ripple::Resource::feeWarning ( 4000  ,
"received warning"   
)

◆ feeDrop()

Charge const ripple::Resource::feeDrop ( 6000  ,
"dropped"   
)

◆ BEAST_DEFINE_TESTSUITE()

ripple::Resource::BEAST_DEFINE_TESTSUITE ( ResourceManager  ,
resource  ,
ripple   
)

Variable Documentation

◆ secondsUntilExpiration

std::chrono::seconds constexpr ripple::Resource::secondsUntilExpiration {300}
constexpr

Definition at line 48 of file include/xrpl/resource/detail/Tuning.h.

◆ gossipExpirationSeconds

std::chrono::seconds constexpr ripple::Resource::gossipExpirationSeconds {30}
constexpr

Definition at line 51 of file include/xrpl/resource/detail/Tuning.h.

◆ feeMalformedRequest

Charge const ripple::Resource::feeMalformedRequest(200, "malformed request")

Schedule of fees charged for imposing load on the server.

◆ feeRequestNoReply

Charge const ripple::Resource::feeRequestNoReply(10, "unsatisfiable request")

◆ feeInvalidSignature

Charge const ripple::Resource::feeInvalidSignature(2000, "invalid signature")

◆ feeUselessData

Charge const ripple::Resource::feeUselessData(150, "useless data")

◆ feeInvalidData

Charge const ripple::Resource::feeInvalidData(400, "invalid data")

◆ feeMalformedRPC

Charge const ripple::Resource::feeMalformedRPC(100, "malformed RPC")

◆ feeReferenceRPC

Charge const ripple::Resource::feeReferenceRPC(20, "reference RPC")

◆ feeExceptionRPC

Charge const ripple::Resource::feeExceptionRPC(100, "exceptioned RPC")

◆ feeMediumBurdenRPC

Charge const ripple::Resource::feeMediumBurdenRPC(400, "medium RPC")

◆ feeHeavyBurdenRPC

Charge const ripple::Resource::feeHeavyBurdenRPC(3000, "heavy RPC")

◆ feeTrivialPeer

Charge const ripple::Resource::feeTrivialPeer(1, "trivial peer request")

◆ feeModerateBurdenPeer

Charge const ripple::Resource::feeModerateBurdenPeer(250, "moderate peer request")

◆ feeHeavyBurdenPeer

Charge const ripple::Resource::feeHeavyBurdenPeer(2000, "heavy peer request")

◆ feeWarning

Charge const ripple::Resource::feeWarning(4000, "received warning")

◆ feeDrop

Charge const ripple::Resource::feeDrop(6000, "dropped")