xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
include
xrpl
resource
Consumer.h
1
#pragma once
2
3
#include <xrpl/beast/utility/Journal.h>
4
#include <xrpl/protocol/PublicKey.h>
5
#include <xrpl/resource/Charge.h>
6
#include <xrpl/resource/Disposition.h>
7
8
#include <
ostream
>
9
#include <
string
>
10
11
namespace
xrpl::resource
{
12
13
struct
Entry
;
14
class
Logic
;
15
19
class
Consumer
20
{
21
private
:
22
friend
class
Logic
;
23
Consumer
(
Logic
& logic,
Entry
&
entry
);
24
25
public
:
26
Consumer
();
27
~Consumer
();
28
Consumer
(
Consumer
const
& other);
29
Consumer
&
30
operator=
(
Consumer
const
& other);
31
35
[[nodiscard]]
std::string
36
toString
()
const
;
37
41
[[nodiscard]]
bool
42
isUnlimited
()
const
;
43
48
void
49
elevate
(
std::string
const
& name);
50
56
[[nodiscard]]
Disposition
57
disposition
()
const
;
58
62
Disposition
63
charge
(
Charge
const
& fee,
std::string
const
& context = {});
64
69
bool
70
warn
();
71
75
bool
76
disconnect
(
beast::Journal
const
& j);
77
81
int
82
balance
();
83
84
// Private: Retrieve the entry associated with the consumer
85
Entry
&
86
entry
();
87
88
void
89
setPublicKey
(
PublicKey
const
& publicKey);
90
91
private
:
92
Logic
*
logic_
;
93
Entry
*
entry_
;
94
};
95
96
std::ostream
&
97
operator<<
(
std::ostream
& os,
Consumer
const
& v);
98
99
}
// namespace xrpl::resource
std::ostream
std::string
beast::Journal
A generic endpoint for log messages.
Definition
Journal.h:44
xrpl::PublicKey
A public key.
Definition
PublicKey.h:53
xrpl::resource::Charge
A consumption charge.
Definition
Charge.h:13
xrpl::resource::Consumer
An endpoint that consumes resources.
Definition
Consumer.h:20
xrpl::resource::Consumer::logic_
Logic * logic_
Definition
Consumer.h:92
xrpl::resource::Consumer::Consumer
Consumer(Logic &logic, Entry &entry)
Definition
Consumer.cpp:17
xrpl::resource::Consumer::disconnect
bool disconnect(beast::Journal const &j)
Returns true if the consumer should be disconnected.
Definition
Consumer.cpp:107
xrpl::resource::Consumer::balance
int balance()
Returns the credit balance representing consumption.
Definition
Consumer.cpp:119
xrpl::resource::Consumer::toString
std::string toString() const
Return a human readable string uniquely identifying this consumer.
Definition
Consumer.cpp:61
xrpl::resource::Consumer::entry
Entry & entry()
Definition
Consumer.cpp:126
xrpl::resource::Consumer::charge
Disposition charge(Charge const &fee, std::string const &context={})
Apply a load charge to the consumer.
Definition
Consumer.cpp:89
xrpl::resource::Consumer::disposition
Disposition disposition() const
Returns the current disposition of this consumer.
Definition
Consumer.cpp:79
xrpl::resource::Consumer::Consumer
Consumer()
Definition
Consumer.cpp:21
xrpl::resource::Consumer::~Consumer
~Consumer()
Definition
Consumer.cpp:34
xrpl::resource::Consumer::operator=
Consumer & operator=(Consumer const &other)
Definition
Consumer.cpp:41
xrpl::resource::Consumer::isUnlimited
bool isUnlimited() const
Returns true if this is a privileged endpoint.
Definition
Consumer.cpp:70
xrpl::resource::Consumer::elevate
void elevate(std::string const &name)
Raise the Consumer's privilege level to a Named endpoint.
xrpl::resource::Consumer::setPublicKey
void setPublicKey(PublicKey const &publicKey)
Definition
Consumer.cpp:133
xrpl::resource::Consumer::Logic
friend class Logic
Definition
Consumer.h:22
xrpl::resource::Consumer::warn
bool warn()
Returns true if the consumer should be warned.
Definition
Consumer.cpp:100
xrpl::resource::Consumer::entry_
Entry * entry_
Definition
Consumer.h:93
xrpl::resource::Logic
Definition
resource/detail/Logic.h:30
xrpl::resource
Definition
ServiceRegistry.h:21
xrpl::resource::Disposition
Disposition
The disposition of a consumer after applying a load charge.
Definition
Disposition.h:8
xrpl::resource::operator<<
std::ostream & operator<<(std::ostream &os, Charge const &v)
Definition
Charge.cpp:36
ostream
string
xrpl::resource::Entry
Definition
Entry.h:22
Generated by
1.17.0