diff --git a/Backend_8h_source.html b/Backend_8h_source.html index ebb7deed43..b69ddd964c 100644 --- a/Backend_8h_source.html +++ b/Backend_8h_source.html @@ -119,70 +119,79 @@ $(document).ready(function() { init_codefold(0); });
53 virtual std::string
54 getName() = 0;
55
-
60 virtual void
-
61 open(bool createIfMissing = true) = 0;
-
62
-
65 virtual bool
-
66 isOpen() = 0;
-
67
-
75 virtual void
-
-
76 open(bool createIfMissing, uint64_t appType, uint64_t uid, uint64_t salt)
-
77 {
-
78 Throw<std::runtime_error>(
-
79 "Deterministic appType/uid/salt not supported by backend " +
-
80 getName());
-
81 }
+
58 virtual std::optional<std::size_t>
+
+ +
60 {
+
61 return std::nullopt;
+
62 }
-
82
-
86 virtual void
-
87 close() = 0;
-
88
-
97 virtual Status
-
98 fetch(void const* key, std::shared_ptr<NodeObject>* pObject) = 0;
-
99
-
101 virtual std::pair<std::vector<std::shared_ptr<NodeObject>>, Status>
-
102 fetchBatch(std::vector<uint256 const*> const& hashes) = 0;
-
103
-
110 virtual void
-
111 store(std::shared_ptr<NodeObject> const& object) = 0;
-
112
-
117 virtual void
-
118 storeBatch(Batch const& batch) = 0;
-
119
-
120 virtual void
-
121 sync() = 0;
-
122
-
129 virtual void
-
130 for_each(std::function<void(std::shared_ptr<NodeObject>)> f) = 0;
-
131
-
133 virtual int
-
134 getWriteLoad() = 0;
-
135
+
63
+
68 virtual void
+
69 open(bool createIfMissing = true) = 0;
+
70
+
73 virtual bool
+
74 isOpen() = 0;
+
75
+
83 virtual void
+
+
84 open(bool createIfMissing, uint64_t appType, uint64_t uid, uint64_t salt)
+
85 {
+
86 Throw<std::runtime_error>(
+
87 "Deterministic appType/uid/salt not supported by backend " +
+
88 getName());
+
89 }
+
+
90
+
94 virtual void
+
95 close() = 0;
+
96
+
105 virtual Status
+
106 fetch(void const* key, std::shared_ptr<NodeObject>* pObject) = 0;
+
107
+
109 virtual std::pair<std::vector<std::shared_ptr<NodeObject>>, Status>
+
110 fetchBatch(std::vector<uint256 const*> const& hashes) = 0;
+
111
+
118 virtual void
+
119 store(std::shared_ptr<NodeObject> const& object) = 0;
+
120
+
125 virtual void
+
126 storeBatch(Batch const& batch) = 0;
+
127
+
128 virtual void
+
129 sync() = 0;
+
130
137 virtual void
-
138 setDeletePath() = 0;
+
138 for_each(std::function<void(std::shared_ptr<NodeObject>)> f) = 0;
139
-
146 virtual void
-
- -
148 {
-
149 }
+
141 virtual int
+ +
143
+
145 virtual void
+ +
147
+
154 virtual void
+
+ +
156 {
+
157 }
-
150
-
152 virtual int
-
153 fdRequired() const = 0;
-
154};
-
-
155
-
156} // namespace NodeStore
-
157} // namespace ripple
158
-
159#endif
+
160 virtual int
+
161 fdRequired() const = 0;
+
162};
+
+
163
+
164} // namespace NodeStore
+
165} // namespace ripple
+
166
+
167#endif
std::string
ripple::NodeStore::Backend
A backend used for the NodeStore.
Definition Backend.h:40
ripple::NodeStore::Backend::sync
virtual void sync()=0
ripple::NodeStore::Backend::getName
virtual std::string getName()=0
Get the human-readable name of this backend.
ripple::NodeStore::Backend::open
virtual void open(bool createIfMissing=true)=0
Open the backend.
+
ripple::NodeStore::Backend::getBlockSize
virtual std::optional< std::size_t > getBlockSize() const
Get the block size for backends that support it.
Definition Backend.h:59
ripple::NodeStore::Backend::close
virtual void close()=0
Close the backend.
ripple::NodeStore::Backend::for_each
virtual void for_each(std::function< void(std::shared_ptr< NodeObject >)> f)=0
Visit every object in the database This is usually called during import.
ripple::NodeStore::Backend::~Backend
virtual ~Backend()=default
Destroy the backend.
@@ -194,13 +203,15 @@ $(document).ready(function() { init_codefold(0); });
ripple::NodeStore::Backend::getWriteLoad
virtual int getWriteLoad()=0
Estimate the number of write operations pending.
ripple::NodeStore::Backend::storeBatch
virtual void storeBatch(Batch const &batch)=0
Store a group of objects.
ripple::NodeStore::Backend::isOpen
virtual bool isOpen()=0
Returns true is the database is open.
-
ripple::NodeStore::Backend::open
virtual void open(bool createIfMissing, uint64_t appType, uint64_t uid, uint64_t salt)
Open the backend.
Definition Backend.h:76
-
ripple::NodeStore::Backend::verify
virtual void verify()
Perform consistency checks on database.
Definition Backend.h:147
+
ripple::NodeStore::Backend::open
virtual void open(bool createIfMissing, uint64_t appType, uint64_t uid, uint64_t salt)
Open the backend.
Definition Backend.h:84
+
ripple::NodeStore::Backend::verify
virtual void verify()
Perform consistency checks on database.
Definition Backend.h:155
cstdint
std::function
+
std::is_same_v
T is_same_v
ripple::NodeStore::Status
Status
Return codes from Backend operations.
Definition src/xrpld/nodestore/Types.h:44
ripple
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:25
ripple::HashPrefix::batch
@ batch
Batch.
+
std::optional
std::pair
std::shared_ptr
std::vector
diff --git a/NuDBFactory_8cpp_source.html b/NuDBFactory_8cpp_source.html index 927ad60f2c..80b043c833 100644 --- a/NuDBFactory_8cpp_source.html +++ b/NuDBFactory_8cpp_source.html @@ -107,454 +107,520 @@ $(document).ready(function() { init_codefold(0); });
24#include <xrpld/nodestore/detail/codec.h>
25
26#include <xrpl/basics/contract.h>
-
27#include <xrpl/beast/utility/instrumentation.h>
-
28
-
29#include <boost/filesystem.hpp>
-
30
-
31#include <nudb/nudb.hpp>
-
32
-
33#include <chrono>
-
34#include <cstdint>
-
35#include <cstdio>
-
36#include <exception>
-
37#include <memory>
-
38
-
39namespace ripple {
-
40namespace NodeStore {
-
41
-
-
42class NuDBBackend : public Backend
-
43{
-
44public:
-
45 // "appnum" is an application-defined constant stored in the header of a
-
46 // NuDB database. We used it to identify shard databases before that code
-
47 // was removed. For now, its only use is a sanity check that the database
-
48 // was created by xrpld.
-
49 static constexpr std::uint64_t appnum = 1;
-
50
-
51 beast::Journal const j_;
-
52 size_t const keyBytes_;
-
53 std::size_t const burstSize_;
-
54 std::string const name_;
-
55 nudb::store db_;
-
56 std::atomic<bool> deletePath_;
-
57 Scheduler& scheduler_;
-
58
-
- -
60 size_t keyBytes,
-
61 Section const& keyValues,
- -
63 Scheduler& scheduler,
-
64 beast::Journal journal)
-
65 : j_(journal)
-
66 , keyBytes_(keyBytes)
- -
68 , name_(get(keyValues, "path"))
-
69 , deletePath_(false)
-
70 , scheduler_(scheduler)
-
71 {
-
72 if (name_.empty())
-
73 Throw<std::runtime_error>(
-
74 "nodestore: Missing path in NuDB backend");
-
75 }
+
27#include <xrpl/beast/core/LexicalCast.h>
+
28#include <xrpl/beast/utility/instrumentation.h>
+
29
+
30#include <boost/filesystem.hpp>
+
31
+
32#include <nudb/nudb.hpp>
+
33
+
34#include <chrono>
+
35#include <cstdint>
+
36#include <cstdio>
+
37#include <exception>
+
38#include <memory>
+
39
+
40namespace ripple {
+
41namespace NodeStore {
+
42
+
+
43class NuDBBackend : public Backend
+
44{
+
45public:
+
46 // "appnum" is an application-defined constant stored in the header of a
+
47 // NuDB database. We used it to identify shard databases before that code
+
48 // was removed. For now, its only use is a sanity check that the database
+
49 // was created by xrpld.
+
50 static constexpr std::uint64_t appnum = 1;
+
51
+ +
53 size_t const keyBytes_;
+ + + +
57 nudb::store db_;
+ + +
60
+
+ +
62 size_t keyBytes,
+
63 Section const& keyValues,
+ +
65 Scheduler& scheduler,
+
66 beast::Journal journal)
+
67 : j_(journal)
+
68 , keyBytes_(keyBytes)
+ +
70 , name_(get(keyValues, "path"))
+
71 , blockSize_(parseBlockSize(name_, keyValues, journal))
+
72 , deletePath_(false)
+
73 , scheduler_(scheduler)
+
74 {
+
75 if (name_.empty())
+
76 Throw<std::runtime_error>(
+
77 "nodestore: Missing path in NuDB backend");
+
78 }
-
76
-
- -
78 size_t keyBytes,
-
79 Section const& keyValues,
- -
81 Scheduler& scheduler,
-
82 nudb::context& context,
-
83 beast::Journal journal)
-
84 : j_(journal)
-
85 , keyBytes_(keyBytes)
- -
87 , name_(get(keyValues, "path"))
-
88 , db_(context)
-
89 , deletePath_(false)
-
90 , scheduler_(scheduler)
-
91 {
-
92 if (name_.empty())
-
93 Throw<std::runtime_error>(
-
94 "nodestore: Missing path in NuDB backend");
-
95 }
+
79
+
+ +
81 size_t keyBytes,
+
82 Section const& keyValues,
+ +
84 Scheduler& scheduler,
+
85 nudb::context& context,
+
86 beast::Journal journal)
+
87 : j_(journal)
+
88 , keyBytes_(keyBytes)
+ +
90 , name_(get(keyValues, "path"))
+
91 , blockSize_(parseBlockSize(name_, keyValues, journal))
+
92 , db_(context)
+
93 , deletePath_(false)
+
94 , scheduler_(scheduler)
+
95 {
+
96 if (name_.empty())
+
97 Throw<std::runtime_error>(
+
98 "nodestore: Missing path in NuDB backend");
+
99 }
-
96
-
-
97 ~NuDBBackend() override
-
98 {
-
99 try
-
100 {
-
101 // close can throw and we don't want the destructor to throw.
-
102 close();
-
103 }
-
104 catch (nudb::system_error const&)
-
105 {
-
106 // Don't allow exceptions to propagate out of destructors.
-
107 // close() has already logged the error.
-
108 }
-
109 }
+
100
+
+
101 ~NuDBBackend() override
+
102 {
+
103 try
+
104 {
+
105 // close can throw and we don't want the destructor to throw.
+
106 close();
+
107 }
+
108 catch (nudb::system_error const&)
+
109 {
+
110 // Don't allow exceptions to propagate out of destructors.
+
111 // close() has already logged the error.
+
112 }
+
113 }
-
110
- -
-
112 getName() override
-
113 {
-
114 return name_;
-
115 }
+
114
+ +
+
116 getName() override
+
117 {
+
118 return name_;
+
119 }
-
116
-
117 void
-
-
118 open(bool createIfMissing, uint64_t appType, uint64_t uid, uint64_t salt)
-
119 override
-
120 {
-
121 using namespace boost::filesystem;
-
122 if (db_.is_open())
-
123 {
-
124 // LCOV_EXCL_START
-
125 UNREACHABLE(
-
126 "ripple::NodeStore::NuDBBackend::open : database is already "
-
127 "open");
-
128 JLOG(j_.error()) << "database is already open";
-
129 return;
-
130 // LCOV_EXCL_STOP
-
131 }
-
132 auto const folder = path(name_);
-
133 auto const dp = (folder / "nudb.dat").string();
-
134 auto const kp = (folder / "nudb.key").string();
-
135 auto const lp = (folder / "nudb.log").string();
-
136 nudb::error_code ec;
-
137 if (createIfMissing)
-
138 {
-
139 create_directories(folder);
-
140 nudb::create<nudb::xxhasher>(
-
141 dp,
-
142 kp,
-
143 lp,
-
144 appType,
-
145 uid,
-
146 salt,
-
147 keyBytes_,
-
148 nudb::block_size(kp),
-
149 0.50,
-
150 ec);
-
151 if (ec == nudb::errc::file_exists)
-
152 ec = {};
-
153 if (ec)
-
154 Throw<nudb::system_error>(ec);
-
155 }
-
156 db_.open(dp, kp, lp, ec);
-
157 if (ec)
-
158 Throw<nudb::system_error>(ec);
-
159
-
160 if (db_.appnum() != appnum)
-
161 Throw<std::runtime_error>("nodestore: unknown appnum");
-
162 db_.set_burst(burstSize_);
-
163 }
+
120
+ +
+
122 getBlockSize() const override
+
123 {
+
124 return blockSize_;
+
125 }
-
164
-
165 bool
-
-
166 isOpen() override
-
167 {
-
168 return db_.is_open();
-
169 }
+
126
+
127 void
+
+
128 open(bool createIfMissing, uint64_t appType, uint64_t uid, uint64_t salt)
+
129 override
+
130 {
+
131 using namespace boost::filesystem;
+
132 if (db_.is_open())
+
133 {
+
134 // LCOV_EXCL_START
+
135 UNREACHABLE(
+
136 "ripple::NodeStore::NuDBBackend::open : database is already "
+
137 "open");
+
138 JLOG(j_.error()) << "database is already open";
+
139 return;
+
140 // LCOV_EXCL_STOP
+
141 }
+
142 auto const folder = path(name_);
+
143 auto const dp = (folder / "nudb.dat").string();
+
144 auto const kp = (folder / "nudb.key").string();
+
145 auto const lp = (folder / "nudb.log").string();
+
146 nudb::error_code ec;
+
147 if (createIfMissing)
+
148 {
+
149 create_directories(folder);
+
150 nudb::create<nudb::xxhasher>(
+
151 dp,
+
152 kp,
+
153 lp,
+
154 appType,
+
155 uid,
+
156 salt,
+
157 keyBytes_,
+ +
159 0.50,
+
160 ec);
+
161 if (ec == nudb::errc::file_exists)
+
162 ec = {};
+
163 if (ec)
+
164 Throw<nudb::system_error>(ec);
+
165 }
+
166 db_.open(dp, kp, lp, ec);
+
167 if (ec)
+
168 Throw<nudb::system_error>(ec);
+
169
+
170 if (db_.appnum() != appnum)
+
171 Throw<std::runtime_error>("nodestore: unknown appnum");
+
172 db_.set_burst(burstSize_);
+
173 }
-
170
-
171 void
-
-
172 open(bool createIfMissing) override
-
173 {
-
174 open(createIfMissing, appnum, nudb::make_uid(), nudb::make_salt());
-
175 }
+
174
+
175 bool
+
+
176 isOpen() override
+
177 {
+
178 return db_.is_open();
+
179 }
-
176
-
177 void
-
-
178 close() override
-
179 {
-
180 if (db_.is_open())
-
181 {
-
182 nudb::error_code ec;
-
183 db_.close(ec);
-
184 if (ec)
-
185 {
-
186 // Log to make sure the nature of the error gets to the user.
-
187 JLOG(j_.fatal()) << "NuBD close() failed: " << ec.message();
-
188 Throw<nudb::system_error>(ec);
-
189 }
-
190
-
191 if (deletePath_)
-
192 {
-
193 boost::filesystem::remove_all(name_, ec);
-
194 if (ec)
-
195 {
-
196 JLOG(j_.fatal()) << "Filesystem remove_all of " << name_
-
197 << " failed with: " << ec.message();
-
198 }
+
180
+
181 void
+
+
182 open(bool createIfMissing) override
+
183 {
+
184 open(createIfMissing, appnum, nudb::make_uid(), nudb::make_salt());
+
185 }
+
+
186
+
187 void
+
+
188 close() override
+
189 {
+
190 if (db_.is_open())
+
191 {
+
192 nudb::error_code ec;
+
193 db_.close(ec);
+
194 if (ec)
+
195 {
+
196 // Log to make sure the nature of the error gets to the user.
+
197 JLOG(j_.fatal()) << "NuBD close() failed: " << ec.message();
+
198 Throw<nudb::system_error>(ec);
199 }
-
200 }
-
201 }
+
200
+
201 if (deletePath_)
+
202 {
+
203 boost::filesystem::remove_all(name_, ec);
+
204 if (ec)
+
205 {
+
206 JLOG(j_.fatal()) << "Filesystem remove_all of " << name_
+
207 << " failed with: " << ec.message();
+
208 }
+
209 }
+
210 }
+
211 }
-
202
-
203 Status
-
-
204 fetch(void const* key, std::shared_ptr<NodeObject>* pno) override
-
205 {
-
206 Status status;
-
207 pno->reset();
-
208 nudb::error_code ec;
-
209 db_.fetch(
-
210 key,
-
211 [key, pno, &status](void const* data, std::size_t size) {
-
212 nudb::detail::buffer bf;
-
213 auto const result = nodeobject_decompress(data, size, bf);
-
214 DecodedBlob decoded(key, result.first, result.second);
-
215 if (!decoded.wasOk())
-
216 {
-
217 status = dataCorrupt;
-
218 return;
-
219 }
-
220 *pno = decoded.createObject();
-
221 status = ok;
-
222 },
-
223 ec);
-
224 if (ec == nudb::error::key_not_found)
-
225 return notFound;
-
226 if (ec)
-
227 Throw<nudb::system_error>(ec);
-
228 return status;
-
229 }
+
212
+
213 Status
+
+
214 fetch(void const* key, std::shared_ptr<NodeObject>* pno) override
+
215 {
+
216 Status status;
+
217 pno->reset();
+
218 nudb::error_code ec;
+
219 db_.fetch(
+
220 key,
+
221 [key, pno, &status](void const* data, std::size_t size) {
+
222 nudb::detail::buffer bf;
+
223 auto const result = nodeobject_decompress(data, size, bf);
+
224 DecodedBlob decoded(key, result.first, result.second);
+
225 if (!decoded.wasOk())
+
226 {
+
227 status = dataCorrupt;
+
228 return;
+
229 }
+
230 *pno = decoded.createObject();
+
231 status = ok;
+
232 },
+
233 ec);
+
234 if (ec == nudb::error::key_not_found)
+
235 return notFound;
+
236 if (ec)
+
237 Throw<nudb::system_error>(ec);
+
238 return status;
+
239 }
-
230
- -
- -
233 {
- -
235 results.reserve(hashes.size());
-
236 for (auto const& h : hashes)
-
237 {
- -
239 Status status = fetch(h->begin(), &nObj);
-
240 if (status != ok)
-
241 results.push_back({});
-
242 else
-
243 results.push_back(nObj);
-
244 }
-
245
-
246 return {results, ok};
-
247 }
+
240
+ +
+ +
243 {
+ +
245 results.reserve(hashes.size());
+
246 for (auto const& h : hashes)
+
247 {
+ +
249 Status status = fetch(h->begin(), &nObj);
+
250 if (status != ok)
+
251 results.push_back({});
+
252 else
+
253 results.push_back(nObj);
+
254 }
+
255
+
256 return {results, ok};
+
257 }
-
248
-
249 void
-
- -
251 {
-
252 EncodedBlob e(no);
-
253 nudb::error_code ec;
-
254 nudb::detail::buffer bf;
-
255 auto const result = nodeobject_compress(e.getData(), e.getSize(), bf);
-
256 db_.insert(e.getKey(), result.first, result.second, ec);
-
257 if (ec && ec != nudb::error::key_exists)
-
258 Throw<nudb::system_error>(ec);
-
259 }
+
258
+
259 void
+
+ +
261 {
+
262 EncodedBlob e(no);
+
263 nudb::error_code ec;
+
264 nudb::detail::buffer bf;
+
265 auto const result = nodeobject_compress(e.getData(), e.getSize(), bf);
+
266 db_.insert(e.getKey(), result.first, result.second, ec);
+
267 if (ec && ec != nudb::error::key_exists)
+
268 Throw<nudb::system_error>(ec);
+
269 }
-
260
-
261 void
-
- -
263 {
-
264 BatchWriteReport report;
-
265 report.writeCount = 1;
-
266 auto const start = std::chrono::steady_clock::now();
-
267 do_insert(no);
-
268 report.elapsed = std::chrono::duration_cast<std::chrono::milliseconds>(
- -
270 scheduler_.onBatchWrite(report);
-
271 }
+
270
+
271 void
+
+ +
273 {
+
274 BatchWriteReport report;
+
275 report.writeCount = 1;
+
276 auto const start = std::chrono::steady_clock::now();
+
277 do_insert(no);
+
278 report.elapsed = std::chrono::duration_cast<std::chrono::milliseconds>(
+ +
280 scheduler_.onBatchWrite(report);
+
281 }
-
272
-
273 void
-
-
274 storeBatch(Batch const& batch) override
-
275 {
-
276 BatchWriteReport report;
-
277 report.writeCount = batch.size();
-
278 auto const start = std::chrono::steady_clock::now();
-
279 for (auto const& e : batch)
-
280 do_insert(e);
-
281 report.elapsed = std::chrono::duration_cast<std::chrono::milliseconds>(
- -
283 scheduler_.onBatchWrite(report);
-
284 }
+
282
+
283 void
+
+
284 storeBatch(Batch const& batch) override
+
285 {
+
286 BatchWriteReport report;
+
287 report.writeCount = batch.size();
+
288 auto const start = std::chrono::steady_clock::now();
+
289 for (auto const& e : batch)
+
290 do_insert(e);
+
291 report.elapsed = std::chrono::duration_cast<std::chrono::milliseconds>(
+ +
293 scheduler_.onBatchWrite(report);
+
294 }
-
285
-
286 void
-
-
287 sync() override
-
288 {
-
289 }
+
295
+
296 void
+
+
297 sync() override
+
298 {
+
299 }
-
290
-
291 void
-
- -
293 {
-
294 auto const dp = db_.dat_path();
-
295 auto const kp = db_.key_path();
-
296 auto const lp = db_.log_path();
-
297 // auto const appnum = db_.appnum();
-
298 nudb::error_code ec;
-
299 db_.close(ec);
-
300 if (ec)
-
301 Throw<nudb::system_error>(ec);
-
302 nudb::visit(
-
303 dp,
-
304 [&](void const* key,
-
305 std::size_t key_bytes,
-
306 void const* data,
-
307 std::size_t size,
-
308 nudb::error_code&) {
-
309 nudb::detail::buffer bf;
-
310 auto const result = nodeobject_decompress(data, size, bf);
-
311 DecodedBlob decoded(key, result.first, result.second);
-
312 if (!decoded.wasOk())
-
313 {
-
314 ec = make_error_code(nudb::error::missing_value);
-
315 return;
-
316 }
-
317 f(decoded.createObject());
-
318 },
-
319 nudb::no_progress{},
-
320 ec);
-
321 if (ec)
-
322 Throw<nudb::system_error>(ec);
-
323 db_.open(dp, kp, lp, ec);
-
324 if (ec)
-
325 Throw<nudb::system_error>(ec);
-
326 }
+
300
+
301 void
+
+ +
303 {
+
304 auto const dp = db_.dat_path();
+
305 auto const kp = db_.key_path();
+
306 auto const lp = db_.log_path();
+
307 // auto const appnum = db_.appnum();
+
308 nudb::error_code ec;
+
309 db_.close(ec);
+
310 if (ec)
+
311 Throw<nudb::system_error>(ec);
+
312 nudb::visit(
+
313 dp,
+
314 [&](void const* key,
+
315 std::size_t key_bytes,
+
316 void const* data,
+
317 std::size_t size,
+
318 nudb::error_code&) {
+
319 nudb::detail::buffer bf;
+
320 auto const result = nodeobject_decompress(data, size, bf);
+
321 DecodedBlob decoded(key, result.first, result.second);
+
322 if (!decoded.wasOk())
+
323 {
+
324 ec = make_error_code(nudb::error::missing_value);
+
325 return;
+
326 }
+
327 f(decoded.createObject());
+
328 },
+
329 nudb::no_progress{},
+
330 ec);
+
331 if (ec)
+
332 Throw<nudb::system_error>(ec);
+
333 db_.open(dp, kp, lp, ec);
+
334 if (ec)
+
335 Throw<nudb::system_error>(ec);
+
336 }
-
327
-
328 int
-
-
329 getWriteLoad() override
-
330 {
-
331 return 0;
-
332 }
+
337
+
338 int
+
+
339 getWriteLoad() override
+
340 {
+
341 return 0;
+
342 }
-
333
-
334 void
-
-
335 setDeletePath() override
-
336 {
-
337 deletePath_ = true;
-
338 }
+
343
+
344 void
+
+
345 setDeletePath() override
+
346 {
+
347 deletePath_ = true;
+
348 }
-
339
-
340 void
-
-
341 verify() override
-
342 {
-
343 auto const dp = db_.dat_path();
-
344 auto const kp = db_.key_path();
-
345 auto const lp = db_.log_path();
-
346 nudb::error_code ec;
-
347 db_.close(ec);
-
348 if (ec)
-
349 Throw<nudb::system_error>(ec);
-
350 nudb::verify_info vi;
-
351 nudb::verify<nudb::xxhasher>(vi, dp, kp, 0, nudb::no_progress{}, ec);
-
352 if (ec)
-
353 Throw<nudb::system_error>(ec);
-
354 db_.open(dp, kp, lp, ec);
-
355 if (ec)
-
356 Throw<nudb::system_error>(ec);
-
357 }
+
349
+
350 void
+
+
351 verify() override
+
352 {
+
353 auto const dp = db_.dat_path();
+
354 auto const kp = db_.key_path();
+
355 auto const lp = db_.log_path();
+
356 nudb::error_code ec;
+
357 db_.close(ec);
+
358 if (ec)
+
359 Throw<nudb::system_error>(ec);
+
360 nudb::verify_info vi;
+
361 nudb::verify<nudb::xxhasher>(vi, dp, kp, 0, nudb::no_progress{}, ec);
+
362 if (ec)
+
363 Throw<nudb::system_error>(ec);
+
364 db_.open(dp, kp, lp, ec);
+
365 if (ec)
+
366 Throw<nudb::system_error>(ec);
+
367 }
-
358
-
359 int
-
-
360 fdRequired() const override
-
361 {
-
362 return 3;
-
363 }
+
368
+
369 int
+
+
370 fdRequired() const override
+
371 {
+
372 return 3;
+
373 }
-
364};
+
374
+
375private:
+
376 static std::size_t
+
+ +
378 std::string const& name,
+
379 Section const& keyValues,
+
380 beast::Journal journal)
+
381 {
+
382 using namespace boost::filesystem;
+
383 auto const folder = path(name);
+
384 auto const kp = (folder / "nudb.key").string();
+
385
+
386 std::size_t const defaultSize =
+
387 nudb::block_size(kp); // Default 4K from NuDB
+
388 std::size_t blockSize = defaultSize;
+
389 std::string blockSizeStr;
+
390
+
391 if (!get_if_exists(keyValues, "nudb_block_size", blockSizeStr))
+
392 {
+
393 return blockSize; // Early return with default
+
394 }
+
395
+
396 try
+
397 {
+
398 std::size_t const parsedBlockSize =
+
399 beast::lexicalCastThrow<std::size_t>(blockSizeStr);
+
400
+
401 // Validate: must be power of 2 between 4K and 32K
+
402 if (parsedBlockSize < 4096 || parsedBlockSize > 32768 ||
+
403 (parsedBlockSize & (parsedBlockSize - 1)) != 0)
+
404 {
+ +
406 s << "Invalid nudb_block_size: " << parsedBlockSize
+
407 << ". Must be power of 2 between 4096 and 32768.";
+
408 Throw<std::runtime_error>(s.str());
+
409 }
+
410
+
411 JLOG(journal.info())
+
412 << "Using custom NuDB block size: " << parsedBlockSize
+
413 << " bytes";
+
414 return parsedBlockSize;
+
415 }
+
416 catch (std::exception const& e)
+
417 {
+ +
419 s << "Invalid nudb_block_size value: " << blockSizeStr
+
420 << ". Error: " << e.what();
+
421 Throw<std::runtime_error>(s.str());
+
422 }
+
423 }
-
365
-
366//------------------------------------------------------------------------------
-
367
-
-
368class NuDBFactory : public Factory
-
369{
-
370public:
-
- -
372 {
-
373 Manager::instance().insert(*this);
-
374 }
+
424};
-
375
-
-
376 ~NuDBFactory() override
-
377 {
-
378 Manager::instance().erase(*this);
-
379 }
+
425
+
426//------------------------------------------------------------------------------
+
427
+
+
428class NuDBFactory : public Factory
+
429{
+
430public:
+
+ +
432 {
+
433 Manager::instance().insert(*this);
+
434 }
-
380
- -
-
382 getName() const override
-
383 {
-
384 return "NuDB";
-
385 }
+
435
+
+
436 ~NuDBFactory() override
+
437 {
+
438 Manager::instance().erase(*this);
+
439 }
-
386
- -
- -
389 size_t keyBytes,
-
390 Section const& keyValues,
- -
392 Scheduler& scheduler,
-
393 beast::Journal journal) override
-
394 {
- -
396 keyBytes, keyValues, burstSize, scheduler, journal);
-
397 }
+
440
+ +
+
442 getName() const override
+
443 {
+
444 return "NuDB";
+
445 }
-
398
- -
- -
401 size_t keyBytes,
-
402 Section const& keyValues,
- -
404 Scheduler& scheduler,
-
405 nudb::context& context,
-
406 beast::Journal journal) override
-
407 {
- -
409 keyBytes, keyValues, burstSize, scheduler, context, journal);
-
410 }
+
446
+ +
+ +
449 size_t keyBytes,
+
450 Section const& keyValues,
+ +
452 Scheduler& scheduler,
+
453 beast::Journal journal) override
+
454 {
+ +
456 keyBytes, keyValues, burstSize, scheduler, journal);
+
457 }
-
411};
+
458
+ +
+ +
461 size_t keyBytes,
+
462 Section const& keyValues,
+ +
464 Scheduler& scheduler,
+
465 nudb::context& context,
+
466 beast::Journal journal) override
+
467 {
+ +
469 keyBytes, keyValues, burstSize, scheduler, context, journal);
+
470 }
-
412
- -
414
-
415} // namespace NodeStore
-
416} // namespace ripple
+
471};
+
+
472
+ +
474
+
475} // namespace NodeStore
+
476} // namespace ripple
+
A generic endpoint for log messages.
Definition Journal.h:60
Stream fatal() const
Definition Journal.h:352
Stream error() const
Definition Journal.h:346
+
Stream info() const
Definition Journal.h:334
A backend used for the NodeStore.
Definition Backend.h:40
Parsed key/value blob into NodeObject components.
Definition DecodedBlob.h:39
std::shared_ptr< NodeObject > createObject()
Create a NodeObject from this data.
@@ -567,40 +633,43 @@ $(document).ready(function() { init_codefold(0); });
static Manager & instance()
Returns the instance of the manager singleton.
virtual void erase(Factory &factory)=0
Remove a factory.
virtual void insert(Factory &factory)=0
Add a factory.
- -
void store(std::shared_ptr< NodeObject > const &no) override
Store a single object.
-
NuDBBackend(size_t keyBytes, Section const &keyValues, std::size_t burstSize, Scheduler &scheduler, beast::Journal journal)
-
Status fetch(void const *key, std::shared_ptr< NodeObject > *pno) override
Fetch a single object.
-
void open(bool createIfMissing) override
Open the backend.
- -
std::pair< std::vector< std::shared_ptr< NodeObject > >, Status > fetchBatch(std::vector< uint256 const * > const &hashes) override
Fetch a batch synchronously.
- -
static constexpr std::uint64_t appnum
-
void close() override
Close the backend.
-
NuDBBackend(size_t keyBytes, Section const &keyValues, std::size_t burstSize, Scheduler &scheduler, nudb::context &context, beast::Journal journal)
- -
void storeBatch(Batch const &batch) override
Store a group of objects.
-
void do_insert(std::shared_ptr< NodeObject > const &no)
- - -
int fdRequired() const override
Returns the number of file descriptors the backend expects to need.
- -
std::string getName() override
Get the human-readable name of this backend.
- -
void open(bool createIfMissing, uint64_t appType, uint64_t uid, uint64_t salt) override
Open the backend.
-
void verify() override
Perform consistency checks on database.
-
void for_each(std::function< void(std::shared_ptr< NodeObject >)> f) override
Visit every object in the database This is usually called during import.
-
std::atomic< bool > deletePath_
-
bool isOpen() override
Returns true is the database is open.
-
int getWriteLoad() override
Estimate the number of write operations pending.
-
void setDeletePath() override
Remove contents on disk upon destruction.
- - -
std::unique_ptr< Backend > createInstance(size_t keyBytes, Section const &keyValues, std::size_t burstSize, Scheduler &scheduler, nudb::context &context, beast::Journal journal) override
Create an instance of this factory's backend.
- -
std::string getName() const override
Retrieve the name of this factory.
-
std::unique_ptr< Backend > createInstance(size_t keyBytes, Section const &keyValues, std::size_t burstSize, Scheduler &scheduler, beast::Journal journal) override
Create an instance of this factory's backend.
- + +
void store(std::shared_ptr< NodeObject > const &no) override
Store a single object.
+
NuDBBackend(size_t keyBytes, Section const &keyValues, std::size_t burstSize, Scheduler &scheduler, beast::Journal journal)
+
Status fetch(void const *key, std::shared_ptr< NodeObject > *pno) override
Fetch a single object.
+
void open(bool createIfMissing) override
Open the backend.
+ +
std::pair< std::vector< std::shared_ptr< NodeObject > >, Status > fetchBatch(std::vector< uint256 const * > const &hashes) override
Fetch a batch synchronously.
+ +
static std::size_t parseBlockSize(std::string const &name, Section const &keyValues, beast::Journal journal)
+
static constexpr std::uint64_t appnum
+
void close() override
Close the backend.
+
NuDBBackend(size_t keyBytes, Section const &keyValues, std::size_t burstSize, Scheduler &scheduler, nudb::context &context, beast::Journal journal)
+ +
void storeBatch(Batch const &batch) override
Store a group of objects.
+
void do_insert(std::shared_ptr< NodeObject > const &no)
+ + +
std::optional< std::size_t > getBlockSize() const override
Get the block size for backends that support it.
+
int fdRequired() const override
Returns the number of file descriptors the backend expects to need.
+ +
std::string getName() override
Get the human-readable name of this backend.
+ +
void open(bool createIfMissing, uint64_t appType, uint64_t uid, uint64_t salt) override
Open the backend.
+
void verify() override
Perform consistency checks on database.
+
void for_each(std::function< void(std::shared_ptr< NodeObject >)> f) override
Visit every object in the database This is usually called during import.
+
std::atomic< bool > deletePath_
+ +
bool isOpen() override
Returns true is the database is open.
+
int getWriteLoad() override
Estimate the number of write operations pending.
+
void setDeletePath() override
Remove contents on disk upon destruction.
+ + +
std::unique_ptr< Backend > createInstance(size_t keyBytes, Section const &keyValues, std::size_t burstSize, Scheduler &scheduler, nudb::context &context, beast::Journal journal) override
Create an instance of this factory's backend.
+ +
std::string getName() const override
Retrieve the name of this factory.
+
std::unique_ptr< Backend > createInstance(size_t keyBytes, Section const &keyValues, std::size_t burstSize, Scheduler &scheduler, beast::Journal journal) override
Create an instance of this factory's backend.
+
Scheduling for asynchronous backend activity.
virtual void onBatchWrite(BatchWriteReport const &report)=0
Reports the completion of a batch write Allows the scheduler to monitor the node store's performance.
Holds a collection of configuration values.
Definition BasicConfig.h:45
@@ -612,7 +681,7 @@ $(document).ready(function() { init_codefold(0); });
T is_same_v
-
static NuDBFactory nuDBFactory
+
static NuDBFactory nuDBFactory
std::pair< void const *, std::size_t > nodeobject_decompress(void const *in, std::size_t in_size, BufferFactory &&bf)
Definition codec.h:111
std::pair< void const *, std::size_t > nodeobject_compress(void const *in, std::size_t in_size, BufferFactory &&bf)
Definition codec.h:222
Status
Return codes from Backend operations.
@@ -621,12 +690,14 @@ $(document).ready(function() { init_codefold(0); });
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:25
+
bool get_if_exists(Section const &section, std::string const &name, T &v)
std::error_code make_error_code(ripple::TokenCodecErrc e)
@ open
We haven't closed our ledger yet, but others might have.
@ no
Definition Steps.h:45
T get(Section const &section, std::string const &name, T const &defaultValue=T{})
Retrieve a key/value pair from a section.
+
T push_back(T... args)
T reserve(T... args)
@@ -634,11 +705,13 @@ $(document).ready(function() { init_codefold(0); });
T size(T... args)
+
T str(T... args)
Contains information about a batch write operation.
+
T what(T... args)

Runs the suite.

-

Implemented in ripple::test::AccountDelete_test, ripple::AccountTxPaging_test, ripple::AmendmentTable_test, ripple::test::AMM_test, ripple::test::AMMCalc_test, ripple::test::AMMClawback_test, ripple::test::AMMExtended_test, ripple::test::Batch_test, ripple::Check_test, ripple::Clawback_test, ripple::test::Credentials_test, ripple::test::CrossingLimits_test, ripple::test::Delegate_test, ripple::test::DeliverMin_test, ripple::test::DepositAuth_test, ripple::test::DepositPreauth_test, ripple::test::DID_test, ripple::Discrepancy_test, ripple::test::DNS_test, ripple::test::Escrow_test, ripple::test::EscrowToken_test, ripple::test::FeeVote_test, ripple::FixNFTokenPageLinks_test, ripple::test::Flow_test, ripple::test::Flow_manual_test, ripple::Freeze_test, ripple::test::HashRouter_test, ripple::test::Invariants_test, ripple::test::LedgerHistory_test, ripple::LedgerLoad_test, ripple::test::LedgerMaster_test, ripple::test::LedgerReplay_test, ripple::test::LedgerReplayer_test, ripple::test::LedgerReplayerTimeout_test, ripple::test::LedgerReplayerLong_test, ripple::LoadFeeTrack_test, ripple::test::LPTokenTransfer_test, ripple::test::Manifest_test, ripple::test::MPToken_test, ripple::test::MultiSign_test, ripple::test::NetworkID_test, ripple::test::NetworkOPs_test, ripple::NFTokenBaseUtil_test, ripple::NFTokenDisallowIncoming_test, ripple::NFTokenWOfixV1_test, ripple::NFTokenWOTokenRemint_test, ripple::NFTokenWOTokenReserve_test, ripple::NFTokenWOMintOffer_test, ripple::NFTokenWOModify_test, ripple::NFTokenAllFeatures_test, ripple::NFTokenAuth_test, ripple::NFTokenBurnBaseUtil_test, ripple::NFTokenBurnWOfixFungTokens_test, ripple::NFTokenBurnWOFixTokenRemint_test, ripple::NFTokenBurnWOFixNFTPageLinks_test, ripple::NFTokenBurnAllFeatures_test, ripple::NFTokenDir_test, ripple::test::OfferBaseUtil_test, ripple::test::OfferWTakerDryOffer_test, ripple::test::OfferWOSmallQOffers_test, ripple::test::OfferWOFillOrKill_test, ripple::test::OfferWOPermDEX_test, ripple::test::OfferAllFeatures_test, ripple::test::Offer_manual_test, ripple::OfferStream_test, ripple::test::jtx::oracle::Oracle_test, ripple::test::PlumpBook_test, ripple::test::ThinBook_test, ripple::test::OversizeMeta_test, ripple::test::FindOversizeCross_test, ripple::test::Path_test, ripple::test::PayChan_test, ripple::test::PayStrand_test, ripple::test::PermissionedDEX_test, ripple::test::PermissionedDomains_test, ripple::test::PseudoTx_test, ripple::test::RCLValidations_test, ripple::test::ReducedOffer_test, ripple::test::Regression_test, ripple::test::SetAuth_test, ripple::SetRegularKey_test, ripple::test::SetTrust_test, ripple::test::SHAMapStore_test, ripple::test::TheoreticalQuality_test, ripple::Ticket_test, ripple::test::Transaction_ordering_test, ripple::TrustAndBalance_test, ripple::Apply_test, ripple::test::TxQPosNegFlows_test, ripple::test::TxQMetaInfo_test, ripple::test::ValidatorKeys_test, ripple::test::ValidatorList_test, ripple::test::ValidatorSite_test, ripple::Vault_test, ripple::test::XChain_test, ripple::test::XChainSim_test, ripple::test::base_uint_test, ripple::test::Buffer_test, ripple::test::DetectCrash_test, ripple::test::Expected_test, ripple::FileUtilities_test, ripple::hardened_hash_test, ripple::tests::IntrusiveShared_test, ripple::IOUAmount_test, ripple::test::join_test, ripple::KeyCache_test, ripple::Number_test, ripple::PerfLog_test, ripple::StringUtilities_test, ripple::TaggedCache_test, ripple::test::units_test, ripple::XRPAmount_test, beast::aged_set_test, beast::aged_map_test, beast::aged_multiset_test, beast::aged_multimap_test, beast::aged_unordered_set_test, beast::aged_unordered_map_test, beast::aged_unordered_multiset_test, beast::aged_unordered_multimap_test, beast::abstract_clock_test, beast::basic_seconds_clock_test, ripple::test::CurrentThreadName_test, io_latency_probe_test, beast::Journal_test, beast::PropertyStream_test, beast::Zero_test, beast::unit_test::print_test, beast::IP::IPEndpoint_test, beast::LexicalCast_test, beast::SemanticVersion_test, beast::XXHasher_test, ripple::cryptoconditions::PreimageSha256_test, ripple::test::ByzantineFailureSim_test, ripple::test::Consensus_test, ripple::test::DistributedValidators_test, ripple::test::LedgerTiming_test, ripple::test::LedgerTrie_test, ripple::test::NegativeUNL_test, ripple::test::NegativeUNLNoAmendment_test, ripple::test::NegativeUNLVoteInternal_test, ripple::test::NegativeUNLVoteScoreTable_test, ripple::test::NegativeUNLVoteGoodScore_test, ripple::test::NegativeUNLVoteOffline_test, ripple::test::NegativeUNLVoteMaxListed_test, ripple::test::NegativeUNLVoteRetiredValidator_test, ripple::test::NegativeUNLVoteNewValidator_test, ripple::test::NegativeUNLVoteFilterValidations_test, ripple::test::RCLCensorshipDetector_test, ripple::test::ScaleFreeSim_test, ripple::test::csf::Validations_test, ripple::test::ClosureCounter_test, ripple::Config_test, ripple::test::Coroutine_test, ripple::test::JobQueue_test, ripple::SociDB_test, ripple::Workers_test, ripple::test::BasicNetwork_test, ripple::test::Digraph_test, ripple::test::Histogram_test, ripple::test::Scheduler_test, ripple::json_value_test, Json::JsonObject_test, Json::Output_test, Json::JsonWriter_test, ripple::test::Env_test, ripple::test::WSClient_test, ripple::test::BookDirs_test, ripple::test::Directory_test, ripple::test::PaymentSandbox_test, ripple::test::PendingSaves_test, ripple::test::SkipList_test, ripple::test::View_test, ripple::test::GetAmendments_test, ripple::NodeStore::Backend_test, ripple::NodeStore::NodeStoreBasic_test, ripple::NodeStore::Database_test, ripple::NodeStore::Timing_test, ripple::NodeStore::tests::varint_test, ripple::tests::cluster_test, ripple::test::compression_test, ripple::test::handshake_test, ripple::ProtocolVersion_test, ripple::test::reduce_relay_test, ripple::test::reduce_relay_simulate_test, ripple::short_read_test, ripple::test::traffic_count_test, ripple::test::tx_reduce_relay_test, ripple::PeerFinder::Livecache_test, ripple::PeerFinder::PeerFinder_test, ripple::test::ApiVersion_test, ripple::BuildInfo_test, ripple::Hooks_test, ripple::InnerObjectFormatsParsedJSON_test, ripple::Issue_test, ripple::Memo_test, ripple::test::MultiApiJson_test, ripple::PublicKey_test, ripple::Quality_test, ripple::SecretKey_test, ripple::Seed_test, ripple::SeqProxy_test, ripple::Serializer_test, ripple::STAccount_test, ripple::STAmount_test, ripple::STInteger_test, ripple::test::STIssue_test, ripple::STNumber_test, ripple::STObject_test, ripple::STParsedJSON_test, ripple::STTx_test, ripple::InnerObjectFormatsSerializer_test, ripple::STValidation_test, ripple::TER_test, ripple::Resource::ResourceManager_test, ripple::AccountCurrencies_test, ripple::test::AccountInfo_test, ripple::RPC::AccountLines_test, ripple::test::AccountObjects_test, ripple::test::AccountOffers_test, ripple::AccountSet_test, ripple::test::AccountTx_test, ripple::AmendmentBlocked_test, ripple::test::AMMInfo_test, ripple::test::Book_test, ripple::test::BookChanges_test, ripple::Connect_test, ripple::test::DeliveredAmount_test, ripple::test::DepositAuthorized_test, ripple::Feature_test, ripple::test::GatewayBalances_test, ripple::test::jtx::oracle::GetAggregatePrice_test, ripple::GetCounts_test, ripple::test::Handler_test, ripple::RPC::JSONRPC_test, ripple::RPC::WalletPropose_test, ripple::LedgerClosed_test, ripple::LedgerData_test, ripple::test::LedgerEntry_test, ripple::test::LedgerEntry_XChain_test, ripple::LedgerHeader_test, ripple::RPC::LedgerRequestRPC_test, ripple::test::LedgerRPC_test, ripple::test::ManifestRPC_test, ripple::test::NoRipple_test, ripple::NoRippleCheck_test, ripple::NoRippleCheckLimits_test, ripple::OwnerInfo_test, ripple::Peers_test, ripple::test::RobustTransaction_test, ripple::test::Roles_test, ripple::test::RPCCall_test, ripple::test::RPCHelpers_test, ripple::test::RPCOverload_test, ripple::test::ServerDefinitions_test, ripple::test::ServerInfo_test, ripple::test::Simulate_test, ripple::RPC::codeString_test, ripple::RPC::fillJson_test, ripple::test::Subscribe_test, ripple::Transaction_test, ripple::TransactionEntry_test, ripple::TransactionHistory_test, ripple::test::ValidatorInfo_test, ripple::test::ValidatorRPC_test, ripple::Version_test, ripple::test::Server_test, ripple::test::ServerStatus_test, ripple::tests::FetchPack_test, ripple::tests::SHAMap_test, ripple::tests::SHAMapPathProof_test, and ripple::tests::SHAMapSync_test.

+

Implemented in ripple::test::AccountDelete_test, ripple::AccountTxPaging_test, ripple::AmendmentTable_test, ripple::test::AMM_test, ripple::test::AMMCalc_test, ripple::test::AMMClawback_test, ripple::test::AMMExtended_test, ripple::test::Batch_test, ripple::Check_test, ripple::Clawback_test, ripple::test::Credentials_test, ripple::test::CrossingLimits_test, ripple::test::Delegate_test, ripple::test::DeliverMin_test, ripple::test::DepositAuth_test, ripple::test::DepositPreauth_test, ripple::test::DID_test, ripple::Discrepancy_test, ripple::test::DNS_test, ripple::test::Escrow_test, ripple::test::EscrowToken_test, ripple::test::FeeVote_test, ripple::FixNFTokenPageLinks_test, ripple::test::Flow_test, ripple::test::Flow_manual_test, ripple::Freeze_test, ripple::test::HashRouter_test, ripple::test::Invariants_test, ripple::test::LedgerHistory_test, ripple::LedgerLoad_test, ripple::test::LedgerMaster_test, ripple::test::LedgerReplay_test, ripple::test::LedgerReplayer_test, ripple::test::LedgerReplayerTimeout_test, ripple::test::LedgerReplayerLong_test, ripple::LoadFeeTrack_test, ripple::test::LPTokenTransfer_test, ripple::test::Manifest_test, ripple::test::MPToken_test, ripple::test::MultiSign_test, ripple::test::NetworkID_test, ripple::test::NetworkOPs_test, ripple::NFTokenBaseUtil_test, ripple::NFTokenDisallowIncoming_test, ripple::NFTokenWOfixV1_test, ripple::NFTokenWOTokenRemint_test, ripple::NFTokenWOTokenReserve_test, ripple::NFTokenWOMintOffer_test, ripple::NFTokenWOModify_test, ripple::NFTokenAllFeatures_test, ripple::NFTokenAuth_test, ripple::NFTokenBurnBaseUtil_test, ripple::NFTokenBurnWOfixFungTokens_test, ripple::NFTokenBurnWOFixTokenRemint_test, ripple::NFTokenBurnWOFixNFTPageLinks_test, ripple::NFTokenBurnAllFeatures_test, ripple::NFTokenDir_test, ripple::test::OfferBaseUtil_test, ripple::test::OfferWTakerDryOffer_test, ripple::test::OfferWOSmallQOffers_test, ripple::test::OfferWOFillOrKill_test, ripple::test::OfferWOPermDEX_test, ripple::test::OfferAllFeatures_test, ripple::test::Offer_manual_test, ripple::OfferStream_test, ripple::test::jtx::oracle::Oracle_test, ripple::test::PlumpBook_test, ripple::test::ThinBook_test, ripple::test::OversizeMeta_test, ripple::test::FindOversizeCross_test, ripple::test::Path_test, ripple::test::PayChan_test, ripple::test::PayStrand_test, ripple::test::PermissionedDEX_test, ripple::test::PermissionedDomains_test, ripple::test::PseudoTx_test, ripple::test::RCLValidations_test, ripple::test::ReducedOffer_test, ripple::test::Regression_test, ripple::test::SetAuth_test, ripple::SetRegularKey_test, ripple::test::SetTrust_test, ripple::test::SHAMapStore_test, ripple::test::TheoreticalQuality_test, ripple::Ticket_test, ripple::test::Transaction_ordering_test, ripple::TrustAndBalance_test, ripple::Apply_test, ripple::test::TxQPosNegFlows_test, ripple::test::TxQMetaInfo_test, ripple::test::ValidatorKeys_test, ripple::test::ValidatorList_test, ripple::test::ValidatorSite_test, ripple::Vault_test, ripple::test::XChain_test, ripple::test::XChainSim_test, ripple::test::base_uint_test, ripple::test::Buffer_test, ripple::test::DetectCrash_test, ripple::test::Expected_test, ripple::FileUtilities_test, ripple::hardened_hash_test, ripple::tests::IntrusiveShared_test, ripple::IOUAmount_test, ripple::test::join_test, ripple::KeyCache_test, ripple::Number_test, ripple::PerfLog_test, ripple::StringUtilities_test, ripple::TaggedCache_test, ripple::test::units_test, ripple::XRPAmount_test, beast::aged_set_test, beast::aged_map_test, beast::aged_multiset_test, beast::aged_multimap_test, beast::aged_unordered_set_test, beast::aged_unordered_map_test, beast::aged_unordered_multiset_test, beast::aged_unordered_multimap_test, beast::abstract_clock_test, beast::basic_seconds_clock_test, ripple::test::CurrentThreadName_test, io_latency_probe_test, beast::Journal_test, beast::PropertyStream_test, beast::Zero_test, beast::unit_test::print_test, beast::IP::IPEndpoint_test, beast::LexicalCast_test, beast::SemanticVersion_test, beast::XXHasher_test, ripple::cryptoconditions::PreimageSha256_test, ripple::test::ByzantineFailureSim_test, ripple::test::Consensus_test, ripple::test::DistributedValidators_test, ripple::test::LedgerTiming_test, ripple::test::LedgerTrie_test, ripple::test::NegativeUNL_test, ripple::test::NegativeUNLNoAmendment_test, ripple::test::NegativeUNLVoteInternal_test, ripple::test::NegativeUNLVoteScoreTable_test, ripple::test::NegativeUNLVoteGoodScore_test, ripple::test::NegativeUNLVoteOffline_test, ripple::test::NegativeUNLVoteMaxListed_test, ripple::test::NegativeUNLVoteRetiredValidator_test, ripple::test::NegativeUNLVoteNewValidator_test, ripple::test::NegativeUNLVoteFilterValidations_test, ripple::test::RCLCensorshipDetector_test, ripple::test::ScaleFreeSim_test, ripple::test::csf::Validations_test, ripple::test::ClosureCounter_test, ripple::Config_test, ripple::test::Coroutine_test, ripple::test::JobQueue_test, ripple::SociDB_test, ripple::Workers_test, ripple::test::BasicNetwork_test, ripple::test::Digraph_test, ripple::test::Histogram_test, ripple::test::Scheduler_test, ripple::json_value_test, Json::JsonObject_test, Json::Output_test, Json::JsonWriter_test, ripple::test::Env_test, ripple::test::WSClient_test, ripple::test::BookDirs_test, ripple::test::Directory_test, ripple::test::PaymentSandbox_test, ripple::test::PendingSaves_test, ripple::test::SkipList_test, ripple::test::View_test, ripple::test::GetAmendments_test, ripple::NodeStore::Backend_test, ripple::NodeStore::NodeStoreBasic_test, ripple::NodeStore::Database_test, ripple::NodeStore::NuDBFactory_test, ripple::NodeStore::Timing_test, ripple::NodeStore::tests::varint_test, ripple::tests::cluster_test, ripple::test::compression_test, ripple::test::handshake_test, ripple::ProtocolVersion_test, ripple::test::reduce_relay_test, ripple::test::reduce_relay_simulate_test, ripple::short_read_test, ripple::test::traffic_count_test, ripple::test::tx_reduce_relay_test, ripple::PeerFinder::Livecache_test, ripple::PeerFinder::PeerFinder_test, ripple::test::ApiVersion_test, ripple::BuildInfo_test, ripple::Hooks_test, ripple::InnerObjectFormatsParsedJSON_test, ripple::Issue_test, ripple::Memo_test, ripple::test::MultiApiJson_test, ripple::PublicKey_test, ripple::Quality_test, ripple::SecretKey_test, ripple::Seed_test, ripple::SeqProxy_test, ripple::Serializer_test, ripple::STAccount_test, ripple::STAmount_test, ripple::STInteger_test, ripple::test::STIssue_test, ripple::STNumber_test, ripple::STObject_test, ripple::STParsedJSON_test, ripple::STTx_test, ripple::InnerObjectFormatsSerializer_test, ripple::STValidation_test, ripple::TER_test, ripple::Resource::ResourceManager_test, ripple::AccountCurrencies_test, ripple::test::AccountInfo_test, ripple::RPC::AccountLines_test, ripple::test::AccountObjects_test, ripple::test::AccountOffers_test, ripple::AccountSet_test, ripple::test::AccountTx_test, ripple::AmendmentBlocked_test, ripple::test::AMMInfo_test, ripple::test::Book_test, ripple::test::BookChanges_test, ripple::Connect_test, ripple::test::DeliveredAmount_test, ripple::test::DepositAuthorized_test, ripple::Feature_test, ripple::test::GatewayBalances_test, ripple::test::jtx::oracle::GetAggregatePrice_test, ripple::GetCounts_test, ripple::test::Handler_test, ripple::RPC::JSONRPC_test, ripple::RPC::WalletPropose_test, ripple::LedgerClosed_test, ripple::LedgerData_test, ripple::test::LedgerEntry_test, ripple::test::LedgerEntry_XChain_test, ripple::LedgerHeader_test, ripple::RPC::LedgerRequestRPC_test, ripple::test::LedgerRPC_test, ripple::test::ManifestRPC_test, ripple::test::NoRipple_test, ripple::NoRippleCheck_test, ripple::NoRippleCheckLimits_test, ripple::OwnerInfo_test, ripple::Peers_test, ripple::test::RobustTransaction_test, ripple::test::Roles_test, ripple::test::RPCCall_test, ripple::test::RPCHelpers_test, ripple::test::RPCOverload_test, ripple::test::ServerDefinitions_test, ripple::test::ServerInfo_test, ripple::test::Simulate_test, ripple::RPC::codeString_test, ripple::RPC::fillJson_test, ripple::test::Subscribe_test, ripple::Transaction_test, ripple::TransactionEntry_test, ripple::TransactionHistory_test, ripple::test::ValidatorInfo_test, ripple::test::ValidatorRPC_test, ripple::Version_test, ripple::test::Server_test, ripple::test::ServerStatus_test, ripple::tests::FetchPack_test, ripple::tests::SHAMap_test, ripple::tests::SHAMapPathProof_test, and ripple::tests::SHAMapSync_test.

diff --git a/classbeast_1_1unit__test_1_1suite.html b/classbeast_1_1unit__test_1_1suite.html index f127818ddd..52034fc4ce 100644 --- a/classbeast_1_1unit__test_1_1suite.html +++ b/classbeast_1_1unit__test_1_1suite.html @@ -953,7 +953,7 @@ template<class Condition >

Runs the suite.

-

Implemented in ripple::test::AccountDelete_test, ripple::AccountTxPaging_test, ripple::AmendmentTable_test, ripple::test::AMM_test, ripple::test::AMMCalc_test, ripple::test::AMMClawback_test, ripple::test::AMMExtended_test, ripple::test::Batch_test, ripple::Check_test, ripple::Clawback_test, ripple::test::Credentials_test, ripple::test::CrossingLimits_test, ripple::test::Delegate_test, ripple::test::DeliverMin_test, ripple::test::DepositAuth_test, ripple::test::DepositPreauth_test, ripple::test::DID_test, ripple::Discrepancy_test, ripple::test::DNS_test, ripple::test::Escrow_test, ripple::test::EscrowToken_test, ripple::test::FeeVote_test, ripple::FixNFTokenPageLinks_test, ripple::test::Flow_test, ripple::test::Flow_manual_test, ripple::Freeze_test, ripple::test::HashRouter_test, ripple::test::Invariants_test, ripple::test::LedgerHistory_test, ripple::LedgerLoad_test, ripple::test::LedgerMaster_test, ripple::test::LedgerReplay_test, ripple::test::LedgerReplayer_test, ripple::test::LedgerReplayerTimeout_test, ripple::test::LedgerReplayerLong_test, ripple::LoadFeeTrack_test, ripple::test::LPTokenTransfer_test, ripple::test::Manifest_test, ripple::test::MPToken_test, ripple::test::MultiSign_test, ripple::test::NetworkID_test, ripple::test::NetworkOPs_test, ripple::NFTokenBaseUtil_test, ripple::NFTokenDisallowIncoming_test, ripple::NFTokenWOfixV1_test, ripple::NFTokenWOTokenRemint_test, ripple::NFTokenWOTokenReserve_test, ripple::NFTokenWOMintOffer_test, ripple::NFTokenWOModify_test, ripple::NFTokenAllFeatures_test, ripple::NFTokenAuth_test, ripple::NFTokenBurnBaseUtil_test, ripple::NFTokenBurnWOfixFungTokens_test, ripple::NFTokenBurnWOFixTokenRemint_test, ripple::NFTokenBurnWOFixNFTPageLinks_test, ripple::NFTokenBurnAllFeatures_test, ripple::NFTokenDir_test, ripple::test::OfferBaseUtil_test, ripple::test::OfferWTakerDryOffer_test, ripple::test::OfferWOSmallQOffers_test, ripple::test::OfferWOFillOrKill_test, ripple::test::OfferWOPermDEX_test, ripple::test::OfferAllFeatures_test, ripple::test::Offer_manual_test, ripple::OfferStream_test, ripple::test::jtx::oracle::Oracle_test, ripple::test::PlumpBook_test, ripple::test::ThinBook_test, ripple::test::OversizeMeta_test, ripple::test::FindOversizeCross_test, ripple::test::Path_test, ripple::test::PayChan_test, ripple::test::PayStrand_test, ripple::test::PermissionedDEX_test, ripple::test::PermissionedDomains_test, ripple::test::PseudoTx_test, ripple::test::RCLValidations_test, ripple::test::ReducedOffer_test, ripple::test::Regression_test, ripple::test::SetAuth_test, ripple::SetRegularKey_test, ripple::test::SetTrust_test, ripple::test::SHAMapStore_test, ripple::test::TheoreticalQuality_test, ripple::Ticket_test, ripple::test::Transaction_ordering_test, ripple::TrustAndBalance_test, ripple::Apply_test, ripple::test::TxQPosNegFlows_test, ripple::test::TxQMetaInfo_test, ripple::test::ValidatorKeys_test, ripple::test::ValidatorList_test, ripple::test::ValidatorSite_test, ripple::Vault_test, ripple::test::XChain_test, ripple::test::XChainSim_test, ripple::test::base_uint_test, ripple::test::Buffer_test, ripple::test::DetectCrash_test, ripple::test::Expected_test, ripple::FileUtilities_test, ripple::hardened_hash_test, ripple::tests::IntrusiveShared_test, ripple::IOUAmount_test, ripple::test::join_test, ripple::KeyCache_test, ripple::Number_test, ripple::PerfLog_test, ripple::StringUtilities_test, ripple::TaggedCache_test, ripple::test::units_test, ripple::XRPAmount_test, beast::aged_set_test, beast::aged_map_test, beast::aged_multiset_test, beast::aged_multimap_test, beast::aged_unordered_set_test, beast::aged_unordered_map_test, beast::aged_unordered_multiset_test, beast::aged_unordered_multimap_test, beast::abstract_clock_test, beast::basic_seconds_clock_test, ripple::test::CurrentThreadName_test, io_latency_probe_test, beast::Journal_test, beast::PropertyStream_test, beast::Zero_test, beast::unit_test::print_test, beast::IP::IPEndpoint_test, beast::LexicalCast_test, beast::SemanticVersion_test, beast::XXHasher_test, ripple::cryptoconditions::PreimageSha256_test, ripple::test::ByzantineFailureSim_test, ripple::test::Consensus_test, ripple::test::DistributedValidators_test, ripple::test::LedgerTiming_test, ripple::test::LedgerTrie_test, ripple::test::NegativeUNL_test, ripple::test::NegativeUNLNoAmendment_test, ripple::test::NegativeUNLVoteInternal_test, ripple::test::NegativeUNLVoteScoreTable_test, ripple::test::NegativeUNLVoteGoodScore_test, ripple::test::NegativeUNLVoteOffline_test, ripple::test::NegativeUNLVoteMaxListed_test, ripple::test::NegativeUNLVoteRetiredValidator_test, ripple::test::NegativeUNLVoteNewValidator_test, ripple::test::NegativeUNLVoteFilterValidations_test, ripple::test::RCLCensorshipDetector_test, ripple::test::ScaleFreeSim_test, ripple::test::csf::Validations_test, ripple::test::ClosureCounter_test, ripple::Config_test, ripple::test::Coroutine_test, ripple::test::JobQueue_test, ripple::SociDB_test, ripple::Workers_test, ripple::test::BasicNetwork_test, ripple::test::Digraph_test, ripple::test::Histogram_test, ripple::test::Scheduler_test, ripple::json_value_test, Json::JsonObject_test, Json::Output_test, Json::JsonWriter_test, ripple::test::Env_test, ripple::test::WSClient_test, ripple::test::BookDirs_test, ripple::test::Directory_test, ripple::test::PaymentSandbox_test, ripple::test::PendingSaves_test, ripple::test::SkipList_test, ripple::test::View_test, ripple::test::GetAmendments_test, ripple::NodeStore::Backend_test, ripple::NodeStore::NodeStoreBasic_test, ripple::NodeStore::Database_test, ripple::NodeStore::Timing_test, ripple::NodeStore::tests::varint_test, ripple::tests::cluster_test, ripple::test::compression_test, ripple::test::handshake_test, ripple::ProtocolVersion_test, ripple::test::reduce_relay_test, ripple::test::reduce_relay_simulate_test, ripple::short_read_test, ripple::test::traffic_count_test, ripple::test::tx_reduce_relay_test, ripple::PeerFinder::Livecache_test, ripple::PeerFinder::PeerFinder_test, ripple::test::ApiVersion_test, ripple::BuildInfo_test, ripple::Hooks_test, ripple::InnerObjectFormatsParsedJSON_test, ripple::Issue_test, ripple::Memo_test, ripple::test::MultiApiJson_test, ripple::PublicKey_test, ripple::Quality_test, ripple::SecretKey_test, ripple::Seed_test, ripple::SeqProxy_test, ripple::Serializer_test, ripple::STAccount_test, ripple::STAmount_test, ripple::STInteger_test, ripple::test::STIssue_test, ripple::STNumber_test, ripple::STObject_test, ripple::STParsedJSON_test, ripple::STTx_test, ripple::InnerObjectFormatsSerializer_test, ripple::STValidation_test, ripple::TER_test, ripple::Resource::ResourceManager_test, ripple::AccountCurrencies_test, ripple::test::AccountInfo_test, ripple::RPC::AccountLines_test, ripple::test::AccountObjects_test, ripple::test::AccountOffers_test, ripple::AccountSet_test, ripple::test::AccountTx_test, ripple::AmendmentBlocked_test, ripple::test::AMMInfo_test, ripple::test::Book_test, ripple::test::BookChanges_test, ripple::Connect_test, ripple::test::DeliveredAmount_test, ripple::test::DepositAuthorized_test, ripple::Feature_test, ripple::test::GatewayBalances_test, ripple::test::jtx::oracle::GetAggregatePrice_test, ripple::GetCounts_test, ripple::test::Handler_test, ripple::RPC::JSONRPC_test, ripple::RPC::WalletPropose_test, ripple::LedgerClosed_test, ripple::LedgerData_test, ripple::test::LedgerEntry_test, ripple::test::LedgerEntry_XChain_test, ripple::LedgerHeader_test, ripple::RPC::LedgerRequestRPC_test, ripple::test::LedgerRPC_test, ripple::test::ManifestRPC_test, ripple::test::NoRipple_test, ripple::NoRippleCheck_test, ripple::NoRippleCheckLimits_test, ripple::OwnerInfo_test, ripple::Peers_test, ripple::test::RobustTransaction_test, ripple::test::Roles_test, ripple::test::RPCCall_test, ripple::test::RPCHelpers_test, ripple::test::RPCOverload_test, ripple::test::ServerDefinitions_test, ripple::test::ServerInfo_test, ripple::test::Simulate_test, ripple::RPC::codeString_test, ripple::RPC::fillJson_test, ripple::test::Subscribe_test, ripple::Transaction_test, ripple::TransactionEntry_test, ripple::TransactionHistory_test, ripple::test::ValidatorInfo_test, ripple::test::ValidatorRPC_test, ripple::Version_test, ripple::test::Server_test, ripple::test::ServerStatus_test, ripple::tests::FetchPack_test, ripple::tests::SHAMap_test, ripple::tests::SHAMapPathProof_test, and ripple::tests::SHAMapSync_test.

+

Implemented in ripple::test::AccountDelete_test, ripple::AccountTxPaging_test, ripple::AmendmentTable_test, ripple::test::AMM_test, ripple::test::AMMCalc_test, ripple::test::AMMClawback_test, ripple::test::AMMExtended_test, ripple::test::Batch_test, ripple::Check_test, ripple::Clawback_test, ripple::test::Credentials_test, ripple::test::CrossingLimits_test, ripple::test::Delegate_test, ripple::test::DeliverMin_test, ripple::test::DepositAuth_test, ripple::test::DepositPreauth_test, ripple::test::DID_test, ripple::Discrepancy_test, ripple::test::DNS_test, ripple::test::Escrow_test, ripple::test::EscrowToken_test, ripple::test::FeeVote_test, ripple::FixNFTokenPageLinks_test, ripple::test::Flow_test, ripple::test::Flow_manual_test, ripple::Freeze_test, ripple::test::HashRouter_test, ripple::test::Invariants_test, ripple::test::LedgerHistory_test, ripple::LedgerLoad_test, ripple::test::LedgerMaster_test, ripple::test::LedgerReplay_test, ripple::test::LedgerReplayer_test, ripple::test::LedgerReplayerTimeout_test, ripple::test::LedgerReplayerLong_test, ripple::LoadFeeTrack_test, ripple::test::LPTokenTransfer_test, ripple::test::Manifest_test, ripple::test::MPToken_test, ripple::test::MultiSign_test, ripple::test::NetworkID_test, ripple::test::NetworkOPs_test, ripple::NFTokenBaseUtil_test, ripple::NFTokenDisallowIncoming_test, ripple::NFTokenWOfixV1_test, ripple::NFTokenWOTokenRemint_test, ripple::NFTokenWOTokenReserve_test, ripple::NFTokenWOMintOffer_test, ripple::NFTokenWOModify_test, ripple::NFTokenAllFeatures_test, ripple::NFTokenAuth_test, ripple::NFTokenBurnBaseUtil_test, ripple::NFTokenBurnWOfixFungTokens_test, ripple::NFTokenBurnWOFixTokenRemint_test, ripple::NFTokenBurnWOFixNFTPageLinks_test, ripple::NFTokenBurnAllFeatures_test, ripple::NFTokenDir_test, ripple::test::OfferBaseUtil_test, ripple::test::OfferWTakerDryOffer_test, ripple::test::OfferWOSmallQOffers_test, ripple::test::OfferWOFillOrKill_test, ripple::test::OfferWOPermDEX_test, ripple::test::OfferAllFeatures_test, ripple::test::Offer_manual_test, ripple::OfferStream_test, ripple::test::jtx::oracle::Oracle_test, ripple::test::PlumpBook_test, ripple::test::ThinBook_test, ripple::test::OversizeMeta_test, ripple::test::FindOversizeCross_test, ripple::test::Path_test, ripple::test::PayChan_test, ripple::test::PayStrand_test, ripple::test::PermissionedDEX_test, ripple::test::PermissionedDomains_test, ripple::test::PseudoTx_test, ripple::test::RCLValidations_test, ripple::test::ReducedOffer_test, ripple::test::Regression_test, ripple::test::SetAuth_test, ripple::SetRegularKey_test, ripple::test::SetTrust_test, ripple::test::SHAMapStore_test, ripple::test::TheoreticalQuality_test, ripple::Ticket_test, ripple::test::Transaction_ordering_test, ripple::TrustAndBalance_test, ripple::Apply_test, ripple::test::TxQPosNegFlows_test, ripple::test::TxQMetaInfo_test, ripple::test::ValidatorKeys_test, ripple::test::ValidatorList_test, ripple::test::ValidatorSite_test, ripple::Vault_test, ripple::test::XChain_test, ripple::test::XChainSim_test, ripple::test::base_uint_test, ripple::test::Buffer_test, ripple::test::DetectCrash_test, ripple::test::Expected_test, ripple::FileUtilities_test, ripple::hardened_hash_test, ripple::tests::IntrusiveShared_test, ripple::IOUAmount_test, ripple::test::join_test, ripple::KeyCache_test, ripple::Number_test, ripple::PerfLog_test, ripple::StringUtilities_test, ripple::TaggedCache_test, ripple::test::units_test, ripple::XRPAmount_test, beast::aged_set_test, beast::aged_map_test, beast::aged_multiset_test, beast::aged_multimap_test, beast::aged_unordered_set_test, beast::aged_unordered_map_test, beast::aged_unordered_multiset_test, beast::aged_unordered_multimap_test, beast::abstract_clock_test, beast::basic_seconds_clock_test, ripple::test::CurrentThreadName_test, io_latency_probe_test, beast::Journal_test, beast::PropertyStream_test, beast::Zero_test, beast::unit_test::print_test, beast::IP::IPEndpoint_test, beast::LexicalCast_test, beast::SemanticVersion_test, beast::XXHasher_test, ripple::cryptoconditions::PreimageSha256_test, ripple::test::ByzantineFailureSim_test, ripple::test::Consensus_test, ripple::test::DistributedValidators_test, ripple::test::LedgerTiming_test, ripple::test::LedgerTrie_test, ripple::test::NegativeUNL_test, ripple::test::NegativeUNLNoAmendment_test, ripple::test::NegativeUNLVoteInternal_test, ripple::test::NegativeUNLVoteScoreTable_test, ripple::test::NegativeUNLVoteGoodScore_test, ripple::test::NegativeUNLVoteOffline_test, ripple::test::NegativeUNLVoteMaxListed_test, ripple::test::NegativeUNLVoteRetiredValidator_test, ripple::test::NegativeUNLVoteNewValidator_test, ripple::test::NegativeUNLVoteFilterValidations_test, ripple::test::RCLCensorshipDetector_test, ripple::test::ScaleFreeSim_test, ripple::test::csf::Validations_test, ripple::test::ClosureCounter_test, ripple::Config_test, ripple::test::Coroutine_test, ripple::test::JobQueue_test, ripple::SociDB_test, ripple::Workers_test, ripple::test::BasicNetwork_test, ripple::test::Digraph_test, ripple::test::Histogram_test, ripple::test::Scheduler_test, ripple::json_value_test, Json::JsonObject_test, Json::Output_test, Json::JsonWriter_test, ripple::test::Env_test, ripple::test::WSClient_test, ripple::test::BookDirs_test, ripple::test::Directory_test, ripple::test::PaymentSandbox_test, ripple::test::PendingSaves_test, ripple::test::SkipList_test, ripple::test::View_test, ripple::test::GetAmendments_test, ripple::NodeStore::Backend_test, ripple::NodeStore::NodeStoreBasic_test, ripple::NodeStore::Database_test, ripple::NodeStore::NuDBFactory_test, ripple::NodeStore::Timing_test, ripple::NodeStore::tests::varint_test, ripple::tests::cluster_test, ripple::test::compression_test, ripple::test::handshake_test, ripple::ProtocolVersion_test, ripple::test::reduce_relay_test, ripple::test::reduce_relay_simulate_test, ripple::short_read_test, ripple::test::traffic_count_test, ripple::test::tx_reduce_relay_test, ripple::PeerFinder::Livecache_test, ripple::PeerFinder::PeerFinder_test, ripple::test::ApiVersion_test, ripple::BuildInfo_test, ripple::Hooks_test, ripple::InnerObjectFormatsParsedJSON_test, ripple::Issue_test, ripple::Memo_test, ripple::test::MultiApiJson_test, ripple::PublicKey_test, ripple::Quality_test, ripple::SecretKey_test, ripple::Seed_test, ripple::SeqProxy_test, ripple::Serializer_test, ripple::STAccount_test, ripple::STAmount_test, ripple::STInteger_test, ripple::test::STIssue_test, ripple::STNumber_test, ripple::STObject_test, ripple::STParsedJSON_test, ripple::STTx_test, ripple::InnerObjectFormatsSerializer_test, ripple::STValidation_test, ripple::TER_test, ripple::Resource::ResourceManager_test, ripple::AccountCurrencies_test, ripple::test::AccountInfo_test, ripple::RPC::AccountLines_test, ripple::test::AccountObjects_test, ripple::test::AccountOffers_test, ripple::AccountSet_test, ripple::test::AccountTx_test, ripple::AmendmentBlocked_test, ripple::test::AMMInfo_test, ripple::test::Book_test, ripple::test::BookChanges_test, ripple::Connect_test, ripple::test::DeliveredAmount_test, ripple::test::DepositAuthorized_test, ripple::Feature_test, ripple::test::GatewayBalances_test, ripple::test::jtx::oracle::GetAggregatePrice_test, ripple::GetCounts_test, ripple::test::Handler_test, ripple::RPC::JSONRPC_test, ripple::RPC::WalletPropose_test, ripple::LedgerClosed_test, ripple::LedgerData_test, ripple::test::LedgerEntry_test, ripple::test::LedgerEntry_XChain_test, ripple::LedgerHeader_test, ripple::RPC::LedgerRequestRPC_test, ripple::test::LedgerRPC_test, ripple::test::ManifestRPC_test, ripple::test::NoRipple_test, ripple::NoRippleCheck_test, ripple::NoRippleCheckLimits_test, ripple::OwnerInfo_test, ripple::Peers_test, ripple::test::RobustTransaction_test, ripple::test::Roles_test, ripple::test::RPCCall_test, ripple::test::RPCHelpers_test, ripple::test::RPCOverload_test, ripple::test::ServerDefinitions_test, ripple::test::ServerInfo_test, ripple::test::Simulate_test, ripple::RPC::codeString_test, ripple::RPC::fillJson_test, ripple::test::Subscribe_test, ripple::Transaction_test, ripple::TransactionEntry_test, ripple::TransactionHistory_test, ripple::test::ValidatorInfo_test, ripple::test::ValidatorRPC_test, ripple::Version_test, ripple::test::Server_test, ripple::test::ServerStatus_test, ripple::tests::FetchPack_test, ripple::tests::SHAMap_test, ripple::tests::SHAMapPathProof_test, and ripple::tests::SHAMapSync_test.

diff --git a/classes.html b/classes.html index 25ed90f19e..4da0088f67 100644 --- a/classes.html +++ b/classes.html @@ -115,7 +115,7 @@ $(function() {
MagicInboundLedgers (ripple::test)
RCLValidatedLedger::MakeGenesis (ripple)
Ledger::MakeGenesis (ripple::test::csf)
Manager (ripple::NodeStore)
Manager (ripple::Resource)
Manager (ripple::PeerFinder)
ManagerImp (ripple::NodeStore)
ManagerImp (ripple::PeerFinder)
ManagerImp (ripple::Resource)
Manifest (ripple)
Manifest_test (ripple::test)
ManifestCache (ripple)
ManifestRPC_test (ripple::test)
manual_clock (beast)
ManualClock (ripple::test)
ManualTimeKeeper (ripple::test)
PropertyStream::Map (beast)
match_peer (ripple)
XChainClaimAttestation::MatchFields (ripple)
XChainCreateAccountAttestation::MatchFields (ripple)
maybe_const (beast)
aged_associative_container_test_base::MaybeMap (beast)
aged_associative_container_test_base::MaybeMap< Base, true > (beast)
aged_associative_container_test_base::MaybeMulti (beast)
aged_associative_container_test_base::MaybeMulti< Base, true > (beast)
TxQ::MaybeTx (ripple)
aged_associative_container_test_base::MaybeUnordered (beast)
aged_associative_container_test_base::MaybeUnordered< Base, true > (beast)
memo (ripple::test::jtx)
Memo_test (ripple)
memodata (ripple::test::jtx)
memoformat (ripple::test::jtx)
memondata (ripple::test::jtx)
memonformat (ripple::test::jtx)
memontype (ripple::test::jtx)
MemoryBackend (ripple::NodeStore)
MemoryDB (ripple::NodeStore)
MemoryFactory (ripple::NodeStore)
memotype (ripple::test::jtx)
Message (ripple)
MessageHeader (ripple::detail)
ValidatorList::MessageWithHash (ripple)
Meter (beast::insight)
MeterImpl (beast::insight)
TxQ::Metrics (ripple)
PeerImp::Metrics (ripple)
SHAMap::MissingNodes (ripple)
Consensus::MonitoredMode (ripple)
MPT (ripple::test::jtx)
MPTAmount (ripple)
MPTAuthorize (ripple::test::jtx)
MPTAuthorizeArgs (ripple)
mptbalance (ripple::test::jtx)
MPTCreate (ripple::test::jtx)
MPTCreateArgs (ripple)
MPTDestroy (ripple::test::jtx)
mptflags (ripple::test::jtx)
MPTInit (ripple::test::jtx)
MPTIssue (ripple)
MPTMutabilityFlags (ripple)
MPToken_test (ripple::test)
MPTokenAuthorize (ripple)
MPTokenIssuanceCreate (ripple)
MPTokenIssuanceDestroy (ripple)
MPTokenIssuanceSet (ripple)
MPTSet (ripple::test::jtx)
MPTTester (ripple::test::jtx)
WSClientImpl::msg (ripple::test)
msig (ripple::test::jtx::batch)
msig (ripple::test::jtx)
multi_runner_base (ripple::detail)
multi_runner_child (ripple::test)
multi_runner_parent (ripple::test)
MultiApiJson (ripple::detail)
MultiApiJson_test (ripple::test)
MultipleMetrics (ripple::metrics)
MultiSign_test (ripple::test)
RCLTxSet::MutableTxSet (ripple)
TxSet::MutableTxSet (ripple::test::csf)
Peer::ValAdaptor::Mutex (ripple::test::csf)
Validations_test::Adaptor::Mutex (ripple::test::csf)
ServerStatus_test::myFields (ripple::test)
N
-
NegativeUNL_test (ripple::test)
NegativeUNLNoAmendment_test (ripple::test)
NegativeUNLVote (ripple)
NegativeUNLVoteFilterValidations_test (ripple::test)
NegativeUNLVoteGoodScore_test (ripple::test)
NegativeUNLVoteInternal_test (ripple::test)
NegativeUNLVoteMaxListed_test (ripple::test)
NegativeUNLVoteNewValidator_test (ripple::test)
NegativeUNLVoteOffline_test (ripple::test)
NegativeUNLVoteRetiredValidator_test (ripple::test)
NegativeUNLVoteScoreTable_test (ripple::test)
NetClock (ripple)
Network (ripple::test)
NetworkHistory (ripple::test)
NetworkID_test (ripple::test)
NetworkOfTwo (ripple::test)
NetworkOPs (ripple)
NetworkOPs_test (ripple::test)
NetworkOPsImp (ripple)
next_t (ripple::keylet)
nflags (ripple::test::jtx)
NFTokenAcceptOffer (ripple)
NFTokenAllFeatures_test (ripple)
NFTokenAuth_test (ripple)
NFTokenBaseUtil_test (ripple)
NFTokenBurn (ripple)
NFTokenBurnAllFeatures_test (ripple)
NFTokenBurnBaseUtil_test (ripple)
NFTokenBurnWOfixFungTokens_test (ripple)
NFTokenBurnWOFixNFTPageLinks_test (ripple)
NFTokenBurnWOFixTokenRemint_test (ripple)
NFTokenCancelOffer (ripple)
NFTokenCountTracking (ripple)
NFTokenCreateOffer (ripple)
NFTokenDir_test (ripple)
NFTokenDisallowIncoming_test (ripple)
NFTokenMint (ripple)
NFTokenModify (ripple)
NFTokenWOfixV1_test (ripple)
NFTokenWOMintOffer_test (ripple)
NFTokenWOModify_test (ripple)
NFTokenWOTokenRemint_test (ripple)
NFTokenWOTokenReserve_test (ripple)
NoBadOffers (ripple)
Node (ripple::ledger_trie_detail)
Validations_test::Node (ripple::test::csf)
LockFreeStack::Node (beast)
NoDeepFreezeTrustLinesWithoutFreeze (ripple)
NodeFamily (ripple)
NodeIDTag (ripple::detail)
NodeObject (ripple)
AccountTx_test::NodeSanity (ripple::test)
NodeStoreBasic_test (ripple::NodeStore)
NodeStoreScheduler (ripple)
NoEdgeData (ripple::detail)
None (ripple::test::jtx)
none_t (ripple::test::jtx)
nonhash (ripple::test)
nonPresentObject_t (ripple::detail)
NoRipple_test (ripple::test)
NoRippleCheck_test (ripple)
NoRippleCheckLimits_test (ripple)
TER_test::NotConvertible (ripple)
NoXRPTrustLines (ripple)
NoZeroEscrow (ripple)
NuDBBackend (ripple::NodeStore)
NuDBFactory (ripple::NodeStore)
NullBackend (ripple::NodeStore)
NullCollector (beast::insight)
NullCollector (ripple::test::csf)
NullCollectorImp (beast::insight::detail)
NullCounterImpl (beast::insight::detail)
NullEventImpl (beast::insight::detail)
NullFactory (ripple::NodeStore)
NullGaugeImpl (beast::insight::detail)
NullHookImpl (beast::insight::detail)
NullJournalSink (beast)
NullMeterImpl (beast::insight::detail)
Number (ripple)
Number_test (ripple)
NumberParts (ripple)
NumberRoundModeGuard (ripple)
NumberSO (ripple)
+
NegativeUNL_test (ripple::test)
NegativeUNLNoAmendment_test (ripple::test)
NegativeUNLVote (ripple)
NegativeUNLVoteFilterValidations_test (ripple::test)
NegativeUNLVoteGoodScore_test (ripple::test)
NegativeUNLVoteInternal_test (ripple::test)
NegativeUNLVoteMaxListed_test (ripple::test)
NegativeUNLVoteNewValidator_test (ripple::test)
NegativeUNLVoteOffline_test (ripple::test)
NegativeUNLVoteRetiredValidator_test (ripple::test)
NegativeUNLVoteScoreTable_test (ripple::test)
NetClock (ripple)
Network (ripple::test)
NetworkHistory (ripple::test)
NetworkID_test (ripple::test)
NetworkOfTwo (ripple::test)
NetworkOPs (ripple)
NetworkOPs_test (ripple::test)
NetworkOPsImp (ripple)
next_t (ripple::keylet)
nflags (ripple::test::jtx)
NFTokenAcceptOffer (ripple)
NFTokenAllFeatures_test (ripple)
NFTokenAuth_test (ripple)
NFTokenBaseUtil_test (ripple)
NFTokenBurn (ripple)
NFTokenBurnAllFeatures_test (ripple)
NFTokenBurnBaseUtil_test (ripple)
NFTokenBurnWOfixFungTokens_test (ripple)
NFTokenBurnWOFixNFTPageLinks_test (ripple)
NFTokenBurnWOFixTokenRemint_test (ripple)
NFTokenCancelOffer (ripple)
NFTokenCountTracking (ripple)
NFTokenCreateOffer (ripple)
NFTokenDir_test (ripple)
NFTokenDisallowIncoming_test (ripple)
NFTokenMint (ripple)
NFTokenModify (ripple)
NFTokenWOfixV1_test (ripple)
NFTokenWOMintOffer_test (ripple)
NFTokenWOModify_test (ripple)
NFTokenWOTokenRemint_test (ripple)
NFTokenWOTokenReserve_test (ripple)
NoBadOffers (ripple)
LockFreeStack::Node (beast)
Validations_test::Node (ripple::test::csf)
Node (ripple::ledger_trie_detail)
NoDeepFreezeTrustLinesWithoutFreeze (ripple)
NodeFamily (ripple)
NodeIDTag (ripple::detail)
NodeObject (ripple)
AccountTx_test::NodeSanity (ripple::test)
NodeStoreBasic_test (ripple::NodeStore)
NodeStoreScheduler (ripple)
NoEdgeData (ripple::detail)
None (ripple::test::jtx)
none_t (ripple::test::jtx)
nonhash (ripple::test)
nonPresentObject_t (ripple::detail)
NoRipple_test (ripple::test)
NoRippleCheck_test (ripple)
NoRippleCheckLimits_test (ripple)
TER_test::NotConvertible (ripple)
NoXRPTrustLines (ripple)
NoZeroEscrow (ripple)
NuDBBackend (ripple::NodeStore)
NuDBFactory (ripple::NodeStore)
NuDBFactory_test (ripple::NodeStore)
NullBackend (ripple::NodeStore)
NullCollector (beast::insight)
NullCollector (ripple::test::csf)
NullCollectorImp (beast::insight::detail)
NullCounterImpl (beast::insight::detail)
NullEventImpl (beast::insight::detail)
NullFactory (ripple::NodeStore)
NullGaugeImpl (beast::insight::detail)
NullHookImpl (beast::insight::detail)
NullJournalSink (beast)
NullMeterImpl (beast::insight::detail)
Number (ripple)
Number_test (ripple)
NumberParts (ripple)
NumberRoundModeGuard (ripple)
NumberSO (ripple)
O
Object (Json)
Offer_manual_test (ripple::test)
OfferAllFeatures_test (ripple::test)
OfferBaseUtil_test (ripple::test)
OfferStream (ripple)
OfferStream_test (ripple)
OfferWOFillOrKill_test (ripple::test)
OfferWOPermDEX_test (ripple::test)
OfferWOSmallQOffers_test (ripple::test)
OfferWTakerDryOffer_test (ripple::test)
open_ledger_t (ripple)
OpenLedger (ripple)
openssl_ripemd160_hasher (ripple)
openssl_sha256_hasher (ripple)
openssl_sha512_hasher (ripple)
OpenView (ripple)
OptionaledField (ripple)
STObject::OptionalProxy (ripple)
Oracle (ripple::test::jtx::oracle)
Oracle_test (ripple::test::jtx::oracle)
OrderBookDB (ripple)
TxQ::OrderCandidates (ripple)
RippleCalc::Output (ripple::path)
Output_test (Json)
Overlay (ripple)
Overlay (ripple::test)
OverlayImpl (ripple)
OverlaySim (ripple::test)
OversizeMeta_test (ripple::test)
owner (ripple::test::jtx::token)
owner_count (ripple::test::jtx)
OwnerInfo_test (ripple)
owners (ripple::test::jtx)
diff --git a/classripple_1_1NodeStore_1_1Backend-members.html b/classripple_1_1NodeStore_1_1Backend-members.html index c0bdb1df6e..7428a4fedd 100644 --- a/classripple_1_1NodeStore_1_1Backend-members.html +++ b/classripple_1_1NodeStore_1_1Backend-members.html @@ -84,17 +84,18 @@ $(function() { fetch(void const *key, std::shared_ptr< NodeObject > *pObject)=0ripple::NodeStore::Backendpure virtual fetchBatch(std::vector< uint256 const * > const &hashes)=0ripple::NodeStore::Backendpure virtual for_each(std::function< void(std::shared_ptr< NodeObject >)> f)=0ripple::NodeStore::Backendpure virtual - getName()=0ripple::NodeStore::Backendpure virtual - getWriteLoad()=0ripple::NodeStore::Backendpure virtual - isOpen()=0ripple::NodeStore::Backendpure virtual - open(bool createIfMissing=true)=0ripple::NodeStore::Backendpure virtual - open(bool createIfMissing, uint64_t appType, uint64_t uid, uint64_t salt)ripple::NodeStore::Backendvirtual - setDeletePath()=0ripple::NodeStore::Backendpure virtual - store(std::shared_ptr< NodeObject > const &object)=0ripple::NodeStore::Backendpure virtual - storeBatch(Batch const &batch)=0ripple::NodeStore::Backendpure virtual - sync()=0ripple::NodeStore::Backendpure virtual - verify()ripple::NodeStore::Backendvirtual - ~Backend()=defaultripple::NodeStore::Backendvirtual + getBlockSize() constripple::NodeStore::Backendvirtual + getName()=0ripple::NodeStore::Backendpure virtual + getWriteLoad()=0ripple::NodeStore::Backendpure virtual + isOpen()=0ripple::NodeStore::Backendpure virtual + open(bool createIfMissing=true)=0ripple::NodeStore::Backendpure virtual + open(bool createIfMissing, uint64_t appType, uint64_t uid, uint64_t salt)ripple::NodeStore::Backendvirtual + setDeletePath()=0ripple::NodeStore::Backendpure virtual + store(std::shared_ptr< NodeObject > const &object)=0ripple::NodeStore::Backendpure virtual + storeBatch(Batch const &batch)=0ripple::NodeStore::Backendpure virtual + sync()=0ripple::NodeStore::Backendpure virtual + verify()ripple::NodeStore::Backendvirtual + ~Backend()=defaultripple::NodeStore::Backendvirtual
+
+ +

◆ getBlockSize()

+ +
+
+ + + + + +
+ + + + + + + +
virtual std::optional< std::size_t > ripple::NodeStore::Backend::getBlockSize () const
+
+virtual
+
+ +

Get the block size for backends that support it.

+ +

Reimplemented in ripple::NodeStore::NuDBBackend.

+ +

Definition at line 59 of file Backend.h.

+
@@ -345,7 +379,7 @@ Public Member Functions

Reimplemented in ripple::NodeStore::NuDBBackend.

-

Definition at line 76 of file Backend.h.

+

Definition at line 84 of file Backend.h.

@@ -671,7 +705,7 @@ Public Member Functions

Reimplemented in ripple::NodeStore::NuDBBackend.

-

Definition at line 147 of file Backend.h.

+

Definition at line 155 of file Backend.h.

diff --git a/classripple_1_1NodeStore_1_1MemoryBackend-members.html b/classripple_1_1NodeStore_1_1MemoryBackend-members.html index 2082a1d621..bc1eefed95 100644 --- a/classripple_1_1NodeStore_1_1MemoryBackend-members.html +++ b/classripple_1_1NodeStore_1_1MemoryBackend-members.html @@ -85,22 +85,23 @@ $(function() { fetch(void const *key, std::shared_ptr< NodeObject > *pObject) overrideripple::NodeStore::MemoryBackendvirtual fetchBatch(std::vector< uint256 const * > const &hashes) overrideripple::NodeStore::MemoryBackendvirtual for_each(std::function< void(std::shared_ptr< NodeObject >)> f) overrideripple::NodeStore::MemoryBackendvirtual - getName() overrideripple::NodeStore::MemoryBackendvirtual - getWriteLoad() overrideripple::NodeStore::MemoryBackendvirtual - isOpen() overrideripple::NodeStore::MemoryBackendvirtual - journal_ripple::NodeStore::MemoryBackendprivate - Map typedefripple::NodeStore::MemoryBackendprivate - MemoryBackend(size_t keyBytes, Section const &keyValues, beast::Journal journal)ripple::NodeStore::MemoryBackend - name_ripple::NodeStore::MemoryBackendprivate - open(bool createIfMissing) overrideripple::NodeStore::MemoryBackendvirtual - ripple::NodeStore::Backend::open(bool createIfMissing, uint64_t appType, uint64_t uid, uint64_t salt)ripple::NodeStore::Backendvirtual - setDeletePath() overrideripple::NodeStore::MemoryBackendvirtual - store(std::shared_ptr< NodeObject > const &object) overrideripple::NodeStore::MemoryBackendvirtual - storeBatch(Batch const &batch) overrideripple::NodeStore::MemoryBackendvirtual - sync() overrideripple::NodeStore::MemoryBackendvirtual - verify()ripple::NodeStore::Backendvirtual - ~Backend()=defaultripple::NodeStore::Backendvirtual - ~MemoryBackend() overrideripple::NodeStore::MemoryBackend + getBlockSize() constripple::NodeStore::Backendvirtual + getName() overrideripple::NodeStore::MemoryBackendvirtual + getWriteLoad() overrideripple::NodeStore::MemoryBackendvirtual + isOpen() overrideripple::NodeStore::MemoryBackendvirtual + journal_ripple::NodeStore::MemoryBackendprivate + Map typedefripple::NodeStore::MemoryBackendprivate + MemoryBackend(size_t keyBytes, Section const &keyValues, beast::Journal journal)ripple::NodeStore::MemoryBackend + name_ripple::NodeStore::MemoryBackendprivate + open(bool createIfMissing) overrideripple::NodeStore::MemoryBackendvirtual + ripple::NodeStore::Backend::open(bool createIfMissing, uint64_t appType, uint64_t uid, uint64_t salt)ripple::NodeStore::Backendvirtual + setDeletePath() overrideripple::NodeStore::MemoryBackendvirtual + store(std::shared_ptr< NodeObject > const &object) overrideripple::NodeStore::MemoryBackendvirtual + storeBatch(Batch const &batch) overrideripple::NodeStore::MemoryBackendvirtual + sync() overrideripple::NodeStore::MemoryBackendvirtual + verify()ripple::NodeStore::Backendvirtual + ~Backend()=defaultripple::NodeStore::Backendvirtual + ~MemoryBackend() overrideripple::NodeStore::MemoryBackend
+
+ +

◆ getBlockSize()

+ +
+
+ + + + + +
+ + + + + + + +
virtual std::optional< std::size_t > ripple::NodeStore::Backend::getBlockSize () const
+
+virtualinherited
+
+ +

Get the block size for backends that support it.

+ +

Reimplemented in ripple::NodeStore::NuDBBackend.

+ +

Definition at line 59 of file Backend.h.

+
@@ -803,7 +837,7 @@ Private Attributes

Reimplemented in ripple::NodeStore::NuDBBackend.

-

Definition at line 76 of file Backend.h.

+

Definition at line 84 of file Backend.h.

@@ -835,7 +869,7 @@ Private Attributes

Reimplemented in ripple::NodeStore::NuDBBackend.

-

Definition at line 147 of file Backend.h.

+

Definition at line 155 of file Backend.h.

diff --git a/classripple_1_1NodeStore_1_1NuDBBackend-members.html b/classripple_1_1NodeStore_1_1NuDBBackend-members.html index 607be3de72..4d21e81bcc 100644 --- a/classripple_1_1NodeStore_1_1NuDBBackend-members.html +++ b/classripple_1_1NodeStore_1_1NuDBBackend-members.html @@ -80,15 +80,17 @@ $(function() {

This is the complete list of members for ripple::NodeStore::NuDBBackend, including all inherited members.

- - - - - - - - - + + + + + + + + + + + @@ -99,14 +101,15 @@ $(function() { - - - - - - - - + + + + + + + + +
appnumripple::NodeStore::NuDBBackendstatic
burstSize_ripple::NodeStore::NuDBBackend
close() overrideripple::NodeStore::NuDBBackendvirtual
db_ripple::NodeStore::NuDBBackend
deletePath_ripple::NodeStore::NuDBBackend
do_insert(std::shared_ptr< NodeObject > const &no)ripple::NodeStore::NuDBBackend
fdRequired() const overrideripple::NodeStore::NuDBBackendvirtual
fetch(void const *key, std::shared_ptr< NodeObject > *pno) overrideripple::NodeStore::NuDBBackendvirtual
fetchBatch(std::vector< uint256 const * > const &hashes) overrideripple::NodeStore::NuDBBackendvirtual
for_each(std::function< void(std::shared_ptr< NodeObject >)> f) overrideripple::NodeStore::NuDBBackendvirtual
blockSize_ripple::NodeStore::NuDBBackend
burstSize_ripple::NodeStore::NuDBBackend
close() overrideripple::NodeStore::NuDBBackendvirtual
db_ripple::NodeStore::NuDBBackend
deletePath_ripple::NodeStore::NuDBBackend
do_insert(std::shared_ptr< NodeObject > const &no)ripple::NodeStore::NuDBBackend
fdRequired() const overrideripple::NodeStore::NuDBBackendvirtual
fetch(void const *key, std::shared_ptr< NodeObject > *pno) overrideripple::NodeStore::NuDBBackendvirtual
fetchBatch(std::vector< uint256 const * > const &hashes) overrideripple::NodeStore::NuDBBackendvirtual
for_each(std::function< void(std::shared_ptr< NodeObject >)> f) overrideripple::NodeStore::NuDBBackendvirtual
getBlockSize() const overrideripple::NodeStore::NuDBBackendvirtual
getName() overrideripple::NodeStore::NuDBBackendvirtual
getWriteLoad() overrideripple::NodeStore::NuDBBackendvirtual
isOpen() overrideripple::NodeStore::NuDBBackendvirtual
NuDBBackend(size_t keyBytes, Section const &keyValues, std::size_t burstSize, Scheduler &scheduler, nudb::context &context, beast::Journal journal)ripple::NodeStore::NuDBBackend
open(bool createIfMissing, uint64_t appType, uint64_t uid, uint64_t salt) overrideripple::NodeStore::NuDBBackendvirtual
open(bool createIfMissing) overrideripple::NodeStore::NuDBBackendvirtual
scheduler_ripple::NodeStore::NuDBBackend
setDeletePath() overrideripple::NodeStore::NuDBBackendvirtual
store(std::shared_ptr< NodeObject > const &no) overrideripple::NodeStore::NuDBBackendvirtual
storeBatch(Batch const &batch) overrideripple::NodeStore::NuDBBackendvirtual
sync() overrideripple::NodeStore::NuDBBackendvirtual
verify() overrideripple::NodeStore::NuDBBackendvirtual
~Backend()=defaultripple::NodeStore::Backendvirtual
~NuDBBackend() overrideripple::NodeStore::NuDBBackend
parseBlockSize(std::string const &name, Section const &keyValues, beast::Journal journal)ripple::NodeStore::NuDBBackendprivatestatic
scheduler_ripple::NodeStore::NuDBBackend
setDeletePath() overrideripple::NodeStore::NuDBBackendvirtual
store(std::shared_ptr< NodeObject > const &no) overrideripple::NodeStore::NuDBBackendvirtual
storeBatch(Batch const &batch) overrideripple::NodeStore::NuDBBackendvirtual
sync() overrideripple::NodeStore::NuDBBackendvirtual
verify() overrideripple::NodeStore::NuDBBackendvirtual
~Backend()=defaultripple::NodeStore::Backendvirtual
~NuDBBackend() overrideripple::NodeStore::NuDBBackend
ripple::NodeStore::NuDBBackend Class Reference
@@ -96,25 +97,25 @@ Collaboration diagram for ripple::NodeStore::NuDBBackend:
Collaboration graph
- + - + - + - + - - - - - - - - - - + + + + + + + + + +
[legend]
@@ -129,6 +130,9 @@ Public Member Functions + + + @@ -183,6 +187,8 @@ Public Attributes + + @@ -194,10 +200,15 @@ Public Attributes Static Public Attributes +
std::string getName () override
 Get the human-readable name of this backend.
 
std::optional< std::size_tgetBlockSize () const override
 Get the block size for backends that support it.
 
void open (bool createIfMissing, uint64_t appType, uint64_t uid, uint64_t salt) override
 Open the backend.
 
 
std::string const name_
 
std::size_t const blockSize_
 
nudb::store db_
 
std::atomic< bool > deletePath_
static constexpr std::uint64_t appnum = 1
 
+ + +

+Static Private Member Functions

static std::size_t parseBlockSize (std::string const &name, Section const &keyValues, beast::Journal journal)
 

Detailed Description

-

Definition at line 42 of file NuDBFactory.cpp.

+

Definition at line 43 of file NuDBFactory.cpp.

Constructor & Destructor Documentation

◆ NuDBBackend() [1/2]

@@ -243,7 +254,7 @@ Static Public Attributes
-

Definition at line 59 of file NuDBFactory.cpp.

+

Definition at line 61 of file NuDBFactory.cpp.

@@ -297,7 +308,7 @@ Static Public Attributes
-

Definition at line 77 of file NuDBFactory.cpp.

+

Definition at line 80 of file NuDBFactory.cpp.

@@ -324,7 +335,7 @@ Static Public Attributes
-

Definition at line 97 of file NuDBFactory.cpp.

+

Definition at line 101 of file NuDBFactory.cpp.

@@ -357,7 +368,38 @@ Static Public Attributes

Implements ripple::NodeStore::Backend.

-

Definition at line 112 of file NuDBFactory.cpp.

+

Definition at line 116 of file NuDBFactory.cpp.

+ + + + +

◆ getBlockSize()

+ +
+
+ + + + + +
+ + + + + + + +
std::optional< std::size_t > ripple::NodeStore::NuDBBackend::getBlockSize () const
+
+overridevirtual
+
+ +

Get the block size for backends that support it.

+ +

Reimplemented from ripple::NodeStore::Backend.

+ +

Definition at line 122 of file NuDBFactory.cpp.

@@ -426,7 +468,7 @@ Static Public Attributes

Reimplemented from ripple::NodeStore::Backend.

-

Definition at line 118 of file NuDBFactory.cpp.

+

Definition at line 128 of file NuDBFactory.cpp.

@@ -457,7 +499,7 @@ Static Public Attributes

Implements ripple::NodeStore::Backend.

-

Definition at line 166 of file NuDBFactory.cpp.

+

Definition at line 176 of file NuDBFactory.cpp.

@@ -495,7 +537,7 @@ Static Public Attributes

Implements ripple::NodeStore::Backend.

-

Definition at line 172 of file NuDBFactory.cpp.

+

Definition at line 182 of file NuDBFactory.cpp.

@@ -527,7 +569,7 @@ Static Public Attributes

Implements ripple::NodeStore::Backend.

-

Definition at line 178 of file NuDBFactory.cpp.

+

Definition at line 188 of file NuDBFactory.cpp.

@@ -578,7 +620,7 @@ Static Public Attributes

Implements ripple::NodeStore::Backend.

-

Definition at line 204 of file NuDBFactory.cpp.

+

Definition at line 214 of file NuDBFactory.cpp.

@@ -610,7 +652,7 @@ Static Public Attributes

Implements ripple::NodeStore::Backend.

-

Definition at line 232 of file NuDBFactory.cpp.

+

Definition at line 242 of file NuDBFactory.cpp.

@@ -630,7 +672,7 @@ Static Public Attributes
-

Definition at line 250 of file NuDBFactory.cpp.

+

Definition at line 260 of file NuDBFactory.cpp.

@@ -669,7 +711,7 @@ Static Public Attributes

Implements ripple::NodeStore::Backend.

-

Definition at line 262 of file NuDBFactory.cpp.

+

Definition at line 272 of file NuDBFactory.cpp.

@@ -702,7 +744,7 @@ Static Public Attributes

Implements ripple::NodeStore::Backend.

-

Definition at line 274 of file NuDBFactory.cpp.

+

Definition at line 284 of file NuDBFactory.cpp.

@@ -731,7 +773,7 @@ Static Public Attributes

Implements ripple::NodeStore::Backend.

-

Definition at line 287 of file NuDBFactory.cpp.

+

Definition at line 297 of file NuDBFactory.cpp.

@@ -765,7 +807,7 @@ Static Public Attributes

Implements ripple::NodeStore::Backend.

-

Definition at line 292 of file NuDBFactory.cpp.

+

Definition at line 302 of file NuDBFactory.cpp.

@@ -796,7 +838,7 @@ Static Public Attributes

Implements ripple::NodeStore::Backend.

-

Definition at line 329 of file NuDBFactory.cpp.

+

Definition at line 339 of file NuDBFactory.cpp.

@@ -827,7 +869,7 @@ Static Public Attributes

Implements ripple::NodeStore::Backend.

-

Definition at line 335 of file NuDBFactory.cpp.

+

Definition at line 345 of file NuDBFactory.cpp.

@@ -859,7 +901,7 @@ Static Public Attributes

Reimplemented from ripple::NodeStore::Backend.

-

Definition at line 341 of file NuDBFactory.cpp.

+

Definition at line 351 of file NuDBFactory.cpp.

@@ -890,7 +932,51 @@ Static Public Attributes

Implements ripple::NodeStore::Backend.

-

Definition at line 360 of file NuDBFactory.cpp.

+

Definition at line 370 of file NuDBFactory.cpp.

+ + + + +

◆ parseBlockSize()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static std::size_t ripple::NodeStore::NuDBBackend::parseBlockSize (std::string const & name,
Section const & keyValues,
beast::Journal journal 
)
+
+staticprivate
+
+ +

Definition at line 377 of file NuDBFactory.cpp.

@@ -915,7 +1001,7 @@ Static Public Attributes
-

Definition at line 49 of file NuDBFactory.cpp.

+

Definition at line 50 of file NuDBFactory.cpp.

@@ -931,7 +1017,7 @@ Static Public Attributes
-

Definition at line 51 of file NuDBFactory.cpp.

+

Definition at line 52 of file NuDBFactory.cpp.

@@ -947,7 +1033,7 @@ Static Public Attributes
-

Definition at line 52 of file NuDBFactory.cpp.

+

Definition at line 53 of file NuDBFactory.cpp.

@@ -963,7 +1049,7 @@ Static Public Attributes
-

Definition at line 53 of file NuDBFactory.cpp.

+

Definition at line 54 of file NuDBFactory.cpp.

@@ -979,7 +1065,23 @@ Static Public Attributes
-

Definition at line 54 of file NuDBFactory.cpp.

+

Definition at line 55 of file NuDBFactory.cpp.

+ +
+ + +

◆ blockSize_

+ +
+
+ + + + +
std::size_t const ripple::NodeStore::NuDBBackend::blockSize_
+
+ +

Definition at line 56 of file NuDBFactory.cpp.

@@ -995,7 +1097,7 @@ Static Public Attributes
-

Definition at line 55 of file NuDBFactory.cpp.

+

Definition at line 57 of file NuDBFactory.cpp.

@@ -1011,7 +1113,7 @@ Static Public Attributes
-

Definition at line 56 of file NuDBFactory.cpp.

+

Definition at line 58 of file NuDBFactory.cpp.

@@ -1027,7 +1129,7 @@ Static Public Attributes
-

Definition at line 57 of file NuDBFactory.cpp.

+

Definition at line 59 of file NuDBFactory.cpp.

diff --git a/classripple_1_1NodeStore_1_1NuDBBackend__coll__graph.map b/classripple_1_1NodeStore_1_1NuDBBackend__coll__graph.map index 40bc9d9f35..24b9386e71 100644 --- a/classripple_1_1NodeStore_1_1NuDBBackend__coll__graph.map +++ b/classripple_1_1NodeStore_1_1NuDBBackend__coll__graph.map @@ -1,21 +1,21 @@ - + - + - + - + - - - - - - - - - - + + + + + + + + + + diff --git a/classripple_1_1NodeStore_1_1NuDBBackend__coll__graph.md5 b/classripple_1_1NodeStore_1_1NuDBBackend__coll__graph.md5 index 2520897bbd..19a3ef6ab6 100644 --- a/classripple_1_1NodeStore_1_1NuDBBackend__coll__graph.md5 +++ b/classripple_1_1NodeStore_1_1NuDBBackend__coll__graph.md5 @@ -1 +1 @@ -a2e835c087f5a2bc2355926ef13efb31 \ No newline at end of file +6c7e2e9badaae0d52347842fd4f34d41 \ No newline at end of file diff --git a/classripple_1_1NodeStore_1_1NuDBBackend__coll__graph.png b/classripple_1_1NodeStore_1_1NuDBBackend__coll__graph.png index f27299f97b..aa9ac66f35 100644 Binary files a/classripple_1_1NodeStore_1_1NuDBBackend__coll__graph.png and b/classripple_1_1NodeStore_1_1NuDBBackend__coll__graph.png differ diff --git a/classripple_1_1NodeStore_1_1NuDBFactory.html b/classripple_1_1NodeStore_1_1NuDBFactory.html index 3dbdee5a11..0e9a78023b 100644 --- a/classripple_1_1NodeStore_1_1NuDBFactory.html +++ b/classripple_1_1NodeStore_1_1NuDBFactory.html @@ -118,7 +118,7 @@ Public Member Functions

Detailed Description

-

Definition at line 368 of file NuDBFactory.cpp.

+

Definition at line 428 of file NuDBFactory.cpp.

Constructor & Destructor Documentation

◆ NuDBFactory()

@@ -135,7 +135,7 @@ Public Member Functions
-

Definition at line 371 of file NuDBFactory.cpp.

+

Definition at line 431 of file NuDBFactory.cpp.

@@ -162,7 +162,7 @@ Public Member Functions
-

Definition at line 376 of file NuDBFactory.cpp.

+

Definition at line 436 of file NuDBFactory.cpp.

@@ -194,7 +194,7 @@ Public Member Functions

Implements ripple::NodeStore::Factory.

-

Definition at line 382 of file NuDBFactory.cpp.

+

Definition at line 442 of file NuDBFactory.cpp.

@@ -264,7 +264,7 @@ Public Member Functions

Implements ripple::NodeStore::Factory.

-

Definition at line 388 of file NuDBFactory.cpp.

+

Definition at line 448 of file NuDBFactory.cpp.

@@ -341,7 +341,7 @@ Public Member Functions

Reimplemented from ripple::NodeStore::Factory.

-

Definition at line 400 of file NuDBFactory.cpp.

+

Definition at line 460 of file NuDBFactory.cpp.

diff --git a/classripple_1_1NodeStore_1_1NuDBFactory__test-members.html b/classripple_1_1NodeStore_1_1NuDBFactory__test-members.html new file mode 100644 index 0000000000..58ed870ecc --- /dev/null +++ b/classripple_1_1NodeStore_1_1NuDBFactory__test-members.html @@ -0,0 +1,140 @@ + + + + + + + +rippled: Member List + + + + + + + + + +
+
+ + + + + + +
+
rippled +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ripple::NodeStore::NuDBFactory_test Member List
+
+
+ +

This is the complete list of members for ripple::NodeStore::NuDBFactory_test, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
abort_beast::unit_test::suiteprivate
aborted_beast::unit_test::suiteprivate
areBatchesEqual(Batch const &lhs, Batch const &rhs)ripple::NodeStore::TestBasestatic
arg() constbeast::unit_test::suite
createPredictableBatch(int numObjects, std::uint64_t seed)ripple::NodeStore::TestBasestatic
createSection(std::string const &path, std::string const &blockSize="")ripple::NodeStore::NuDBFactory_testprivate
except(F &&f, String const &reason)beast::unit_test::suite
except(F &&f)beast::unit_test::suite
except(F &&f, String const &reason)beast::unit_test::suite
except(F &&f)beast::unit_test::suite
expect(Condition const &shouldBeTrue)beast::unit_test::suite
expect(Condition const &shouldBeTrue, String const &reason)beast::unit_test::suite
expect(Condition const &shouldBeTrue, char const *file, int line)beast::unit_test::suite
expect(Condition const &shouldBeTrue, String const &reason, char const *file, int line)beast::unit_test::suite
fail(String const &reason, char const *file, int line)beast::unit_test::suite
fail(std::string const &reason="")beast::unit_test::suite
fetchCopyOfBatch(Backend &backend, Batch *pCopy, Batch const &batch)ripple::NodeStore::TestBase
fetchCopyOfBatch(Database &db, Batch *pCopy, Batch const &batch)ripple::NodeStore::TestBasestatic
fetchMissing(Backend &backend, Batch const &batch)ripple::NodeStore::TestBase
logbeast::unit_test::suite
maxPayloadBytesripple::NodeStore::TestBasestatic
minPayloadBytesripple::NodeStore::TestBasestatic
numObjectsToTestripple::NodeStore::TestBasestatic
operator()(runner &r)beast::unit_test::suite
operator=(suite const &)=deletebeast::unit_test::suite
p_this_suite()beast::unit_test::suiteprivatestatic
pass()beast::unit_test::suite
propagate_abort()beast::unit_test::suiteprivate
run() overrideripple::NodeStore::NuDBFactory_testvirtual
runner_beast::unit_test::suiteprivate
storeBatch(Backend &backend, Batch const &batch)ripple::NodeStore::TestBase
storeBatch(Database &db, Batch const &batch)ripple::NodeStore::TestBasestatic
suite()beast::unit_test::suite
suite(suite const &)=deletebeast::unit_test::suite
testBackendFunctionality(Section const &params, std::size_t expectedBlocksize)ripple::NodeStore::NuDBFactory_testprivate
testBothConstructorVariants()ripple::NodeStore::NuDBFactory_test
testcasebeast::unit_test::suite
testConfigurationParsing()ripple::NodeStore::NuDBFactory_test
testDataPersistence()ripple::NodeStore::NuDBFactory_test
testDefaultBlockSize()ripple::NodeStore::NuDBFactory_test
testInvalidBlockSizes()ripple::NodeStore::NuDBFactory_test
testLogMessage(Section const &params, beast::severities::Severity level, std::string const &expectedMessage)ripple::NodeStore::NuDBFactory_testprivate
testLogMessages()ripple::NodeStore::NuDBFactory_test
testPowerOfTwoValidation(std::string const &size, bool shouldWork)ripple::NodeStore::NuDBFactory_testprivate
testPowerOfTwoValidation()ripple::NodeStore::NuDBFactory_test
testValidBlockSizes()ripple::NodeStore::NuDBFactory_test
this_suite()beast::unit_test::suitestatic
unexcept(F &&f, String const &reason)beast::unit_test::suite
unexcept(F &&f)beast::unit_test::suite
unexpected(Condition shouldBeFalse, String const &reason)beast::unit_test::suite
unexpected(Condition shouldBeFalse)beast::unit_test::suite
~suite()=defaultbeast::unit_test::suitevirtual
+ + + + diff --git a/classripple_1_1NodeStore_1_1NuDBFactory__test.html b/classripple_1_1NodeStore_1_1NuDBFactory__test.html new file mode 100644 index 0000000000..598efb2773 --- /dev/null +++ b/classripple_1_1NodeStore_1_1NuDBFactory__test.html @@ -0,0 +1,1846 @@ + + + + + + + +rippled: ripple::NodeStore::NuDBFactory_test Class Reference + + + + + + + + + +
+
+ + + + + + +
+
rippled +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+
+Inheritance diagram for ripple::NodeStore::NuDBFactory_test:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+
+Collaboration diagram for ripple::NodeStore::NuDBFactory_test:
+
+
Collaboration graph
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void testDefaultBlockSize ()
 
void testValidBlockSizes ()
 
void testInvalidBlockSizes ()
 
void testLogMessages ()
 
void testPowerOfTwoValidation ()
 
void testBothConstructorVariants ()
 
void testConfigurationParsing ()
 
void testDataPersistence ()
 
void run () override
 Runs the suite.
 
void storeBatch (Backend &backend, Batch const &batch)
 
void fetchCopyOfBatch (Backend &backend, Batch *pCopy, Batch const &batch)
 
void fetchMissing (Backend &backend, Batch const &batch)
 
template<class = void>
void operator() (runner &r)
 Invokes the test using the specified runner.
 
template<class = void>
void pass ()
 Record a successful test condition.
 
template<class F , class String >
bool except (F &&f, String const &reason)
 
template<class F >
bool except (F &&f)
 
template<class E , class F , class String >
bool except (F &&f, String const &reason)
 
template<class E , class F >
bool except (F &&f)
 
template<class F , class String >
bool unexcept (F &&f, String const &reason)
 
template<class F >
bool unexcept (F &&f)
 
std::string const & arg () const
 Return the argument associated with the runner.
 
template<class Condition , class String >
bool unexpected (Condition shouldBeFalse, String const &reason)
 
template<class Condition >
bool unexpected (Condition shouldBeFalse)
 
template<class String >
void fail (String const &reason, char const *file, int line)
 Record a failure.
 
template<class = void>
void fail (std::string const &reason="")
 
template<class Condition >
bool expect (Condition const &shouldBeTrue)
 Evaluate a test condition.
 
template<class Condition , class String >
bool expect (Condition const &shouldBeTrue, String const &reason)
 
template<class Condition >
bool expect (Condition const &shouldBeTrue, char const *file, int line)
 
template<class Condition , class String >
bool expect (Condition const &shouldBeTrue, String const &reason, char const *file, int line)
 
+ + + + + + + + + + + + +

+Static Public Member Functions

static Batch createPredictableBatch (int numObjects, std::uint64_t seed)
 
static bool areBatchesEqual (Batch const &lhs, Batch const &rhs)
 
static void storeBatch (Database &db, Batch const &batch)
 
static void fetchCopyOfBatch (Database &db, Batch *pCopy, Batch const &batch)
 
static suitethis_suite ()
 Returns the "current" running suite.
 
+ + + + + + + +

+Public Attributes

log_os< char > log
 Logging output stream.
 
testcase_t testcase
 Memberspace for declaring test cases.
 
+ + + + + + + +

+Static Public Attributes

static std::size_t const minPayloadBytes = 1
 
static std::size_t const maxPayloadBytes = 2000
 
static int const numObjectsToTest = 2000
 
+ + + + + + + + + + + +

+Private Member Functions

Section createSection (std::string const &path, std::string const &blockSize="")
 
bool testBackendFunctionality (Section const &params, std::size_t expectedBlocksize)
 
void testLogMessage (Section const &params, beast::severities::Severity level, std::string const &expectedMessage)
 
void testPowerOfTwoValidation (std::string const &size, bool shouldWork)
 
void propagate_abort ()
 
+ + + +

+Static Private Member Functions

static suite ** p_this_suite ()
 
+ + + + + + + +

+Private Attributes

bool abort_ = false
 
bool aborted_ = false
 
runner * runner_ = nullptr
 
+

Detailed Description

+
+

Definition at line 36 of file NuDBFactory_test.cpp.

+

Member Function Documentation

+ +

◆ createSection()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Section ripple::NodeStore::NuDBFactory_test::createSection (std::string const & path,
std::string const & blockSize = "" 
)
+
+private
+
+ +

Definition at line 41 of file NuDBFactory_test.cpp.

+ +
+
+ +

◆ testBackendFunctionality()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool ripple::NodeStore::NuDBFactory_test::testBackendFunctionality (Section const & params,
std::size_t expectedBlocksize 
)
+
+private
+
+ +

Definition at line 53 of file NuDBFactory_test.cpp.

+ +
+
+ +

◆ testLogMessage()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void ripple::NodeStore::NuDBFactory_test::testLogMessage (Section const & params,
beast::severities::Severity level,
std::string const & expectedMessage 
)
+
+private
+
+ +

Definition at line 95 of file NuDBFactory_test.cpp.

+ +
+
+ +

◆ testPowerOfTwoValidation() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void ripple::NodeStore::NuDBFactory_test::testPowerOfTwoValidation (std::string const & size,
bool shouldWork 
)
+
+private
+
+ +

Definition at line 113 of file NuDBFactory_test.cpp.

+ +
+
+ +

◆ testDefaultBlockSize()

+ +
+
+ + + + + + + +
void ripple::NodeStore::NuDBFactory_test::testDefaultBlockSize ()
+
+ +

Definition at line 134 of file NuDBFactory_test.cpp.

+ +
+
+ +

◆ testValidBlockSizes()

+ +
+
+ + + + + + + +
void ripple::NodeStore::NuDBFactory_test::testValidBlockSizes ()
+
+ +

Definition at line 146 of file NuDBFactory_test.cpp.

+ +
+
+ +

◆ testInvalidBlockSizes()

+ +
+
+ + + + + + + +
void ripple::NodeStore::NuDBFactory_test::testInvalidBlockSizes ()
+
+ +

Definition at line 168 of file NuDBFactory_test.cpp.

+ +
+
+ +

◆ testLogMessages()

+ +
+
+ + + + + + + +
void ripple::NodeStore::NuDBFactory_test::testLogMessages ()
+
+ +

Definition at line 213 of file NuDBFactory_test.cpp.

+ +
+
+ +

◆ testPowerOfTwoValidation() [2/2]

+ +
+
+ + + + + + + +
void ripple::NodeStore::NuDBFactory_test::testPowerOfTwoValidation ()
+
+ +

Definition at line 283 of file NuDBFactory_test.cpp.

+ +
+
+ +

◆ testBothConstructorVariants()

+ +
+
+ + + + + + + +
void ripple::NodeStore::NuDBFactory_test::testBothConstructorVariants ()
+
+ +

Definition at line 328 of file NuDBFactory_test.cpp.

+ +
+
+ +

◆ testConfigurationParsing()

+ +
+
+ + + + + + + +
void ripple::NodeStore::NuDBFactory_test::testConfigurationParsing ()
+
+ +

Definition at line 353 of file NuDBFactory_test.cpp.

+ +
+
+ +

◆ testDataPersistence()

+ +
+
+ + + + + + + +
void ripple::NodeStore::NuDBFactory_test::testDataPersistence ()
+
+ +

Definition at line 419 of file NuDBFactory_test.cpp.

+ +
+
+ +

◆ run()

+ +
+
+ + + + + +
+ + + + + + + +
void ripple::NodeStore::NuDBFactory_test::run ()
+
+overridevirtual
+
+ +

Runs the suite.

+ +

Implements beast::unit_test::suite.

+ +

Definition at line 462 of file NuDBFactory_test.cpp.

+ +
+
+ +

◆ createPredictableBatch()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static Batch ripple::NodeStore::TestBase::createPredictableBatch (int numObjects,
std::uint64_t seed 
)
+
+staticinherited
+
+ +

Definition at line 83 of file TestBase.h.

+ +
+
+ +

◆ areBatchesEqual()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static bool ripple::NodeStore::TestBase::areBatchesEqual (Batch const & lhs,
Batch const & rhs 
)
+
+staticinherited
+
+ +

Definition at line 123 of file TestBase.h.

+ +
+
+ +

◆ storeBatch() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void ripple::NodeStore::TestBase::storeBatch (Backendbackend,
Batch const & batch 
)
+
+inherited
+
+ +

Definition at line 148 of file TestBase.h.

+ +
+
+ +

◆ storeBatch() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void ripple::NodeStore::TestBase::storeBatch (Databasedb,
Batch const & batch 
)
+
+staticinherited
+
+ +

Definition at line 197 of file TestBase.h.

+ +
+
+ +

◆ fetchCopyOfBatch() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void ripple::NodeStore::TestBase::fetchCopyOfBatch (Backendbackend,
BatchpCopy,
Batch const & batch 
)
+
+inherited
+
+ +

Definition at line 158 of file TestBase.h.

+ +
+
+ +

◆ fetchCopyOfBatch() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void ripple::NodeStore::TestBase::fetchCopyOfBatch (Databasedb,
BatchpCopy,
Batch const & batch 
)
+
+staticinherited
+
+ +

Definition at line 215 of file TestBase.h.

+ +
+
+ +

◆ fetchMissing()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void ripple::NodeStore::TestBase::fetchMissing (Backendbackend,
Batch const & batch 
)
+
+inherited
+
+ +

Definition at line 182 of file TestBase.h.

+ +
+
+ +

◆ this_suite()

+ +
+
+ + + + + +
+ + + + + + + +
static suite * beast::unit_test::suite::this_suite ()
+
+staticinherited
+
+ +

Returns the "current" running suite.

+

If no suite is running, nullptr is returned.

+ +

Definition at line 161 of file suite.h.

+ +
+
+ +

◆ operator()()

+ +
+
+
+template<class >
+ + + + + +
+ + + + + + + + +
void beast::unit_test::suite::operator() (runnerr)
+
+inherited
+
+ +

Invokes the test using the specified runner.

+

Data members are set up here instead of the constructor as a convenience to writing the derived class to avoid repetition of forwarded constructor arguments to the base. Normally this is called by the framework for you.

+ +

Definition at line 399 of file suite.h.

+ +
+
+ +

◆ pass()

+ +
+
+
+template<class >
+ + + + + +
+ + + + + + + +
void beast::unit_test::suite::pass ()
+
+inherited
+
+ +

Record a successful test condition.

+ +

Definition at line 511 of file suite.h.

+ +
+
+ +

◆ fail() [1/2]

+ +
+
+
+template<class String >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void beast::unit_test::suite::fail (String const & reason,
char const * file,
int line 
)
+
+inherited
+
+ +

Record a failure.

+
Parameters
+ + + + +
reasonOptional text added to the output on a failure.
fileThe source code file where the test failed.
lineThe source code line number where the test failed.
+
+
+ +

Definition at line 533 of file suite.h.

+ +
+
+ +

◆ fail() [2/2]

+ +
+
+
+template<class >
+ + + + + +
+ + + + + + + + +
void beast::unit_test::suite::fail (std::string const & reason = "")
+
+inherited
+
+ +

Definition at line 520 of file suite.h.

+ +
+
+ +

◆ expect() [1/4]

+ +
+
+
+template<class Condition >
+ + + + + +
+ + + + + + + + +
bool beast::unit_test::suite::expect (Condition const & shouldBeTrue)
+
+inherited
+
+ +

Evaluate a test condition.

+

This function provides improved logging by incorporating the file name and line number into the reported output on failure, as well as additional text specified by the caller.

+
Parameters
+ + + + + +
shouldBeTrueThe condition to test. The condition is evaluated in a boolean context.
reasonOptional added text to output on a failure.
fileThe source code file where the test failed.
lineThe source code line number where the test failed.
+
+
+
Returns
true if the test condition indicates success.
+ +

Definition at line 229 of file suite.h.

+ +
+
+ +

◆ expect() [2/4]

+ +
+
+
+template<class Condition , class String >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool beast::unit_test::suite::expect (Condition const & shouldBeTrue,
String const & reason 
)
+
+inherited
+
+ +

Definition at line 416 of file suite.h.

+ +
+
+ +

◆ expect() [3/4]

+ +
+
+
+template<class Condition >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool beast::unit_test::suite::expect (Condition const & shouldBeTrue,
char const * file,
int line 
)
+
+inherited
+
+ +

Definition at line 240 of file suite.h.

+ +
+
+ +

◆ expect() [4/4]

+ +
+
+
+template<class Condition , class String >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool beast::unit_test::suite::expect (Condition const & shouldBeTrue,
String const & reason,
char const * file,
int line 
)
+
+inherited
+
+ +

Definition at line 429 of file suite.h.

+ +
+
+ +

◆ except() [1/4]

+ +
+
+
+template<class F , class String >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool beast::unit_test::suite::except (F && f,
String const & reason 
)
+
+inherited
+
+ +

Definition at line 448 of file suite.h.

+ +
+
+ +

◆ except() [2/4]

+ +
+
+
+template<class F >
+ + + + + +
+ + + + + + + + +
bool beast::unit_test::suite::except (F && f)
+
+inherited
+
+ +

Definition at line 263 of file suite.h.

+ +
+
+ +

◆ except() [3/4]

+ +
+
+
+template<class E , class F , class String >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool beast::unit_test::suite::except (F && f,
String const & reason 
)
+
+inherited
+
+ +

Definition at line 465 of file suite.h.

+ +
+
+ +

◆ except() [4/4]

+ +
+
+
+template<class E , class F >
+ + + + + +
+ + + + + + + + +
bool beast::unit_test::suite::except (F && f)
+
+inherited
+
+ +

Definition at line 272 of file suite.h.

+ +
+
+ +

◆ unexcept() [1/2]

+ +
+
+
+template<class F , class String >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool beast::unit_test::suite::unexcept (F && f,
String const & reason 
)
+
+inherited
+
+ +

Definition at line 482 of file suite.h.

+ +
+
+ +

◆ unexcept() [2/2]

+ +
+
+
+template<class F >
+ + + + + +
+ + + + + + + + +
bool beast::unit_test::suite::unexcept (F && f)
+
+inherited
+
+ +

Definition at line 281 of file suite.h.

+ +
+
+ +

◆ arg()

+ +
+
+ + + + + +
+ + + + + + + +
std::string const & beast::unit_test::suite::arg () const
+
+inherited
+
+ +

Return the argument associated with the runner.

+ +

Definition at line 288 of file suite.h.

+ +
+
+ +

◆ unexpected() [1/2]

+ +
+
+
+template<class Condition , class String >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool beast::unit_test::suite::unexpected (Condition shouldBeFalse,
String const & reason 
)
+
+inherited
+
+ +

Definition at line 499 of file suite.h.

+ +
+
+ +

◆ unexpected() [2/2]

+ +
+
+
+template<class Condition >
+ + + + + +
+ + + + + + + + +
bool beast::unit_test::suite::unexpected (Condition shouldBeFalse)
+
+inherited
+
+ +

Definition at line 301 of file suite.h.

+ +
+
+ +

◆ p_this_suite()

+ +
+
+ + + + + +
+ + + + + + + +
static suite ** beast::unit_test::suite::p_this_suite ()
+
+staticprivateinherited
+
+ +

Definition at line 310 of file suite.h.

+ +
+
+ +

◆ propagate_abort()

+ +
+
+ + + + + +
+ + + + + + + +
void beast::unit_test::suite::propagate_abort ()
+
+privateinherited
+
+ +

Definition at line 539 of file suite.h.

+ +
+
+

Member Data Documentation

+ +

◆ minPayloadBytes

+ +
+
+ + + + + +
+ + + + +
std::size_t const ripple::NodeStore::TestBase::minPayloadBytes = 1
+
+staticinherited
+
+ +

Definition at line 76 of file TestBase.h.

+ +
+
+ +

◆ maxPayloadBytes

+ +
+
+ + + + + +
+ + + + +
std::size_t const ripple::NodeStore::TestBase::maxPayloadBytes = 2000
+
+staticinherited
+
+ +

Definition at line 77 of file TestBase.h.

+ +
+
+ +

◆ numObjectsToTest

+ +
+
+ + + + + +
+ + + + +
int const ripple::NodeStore::TestBase::numObjectsToTest = 2000
+
+staticinherited
+
+ +

Definition at line 78 of file TestBase.h.

+ +
+
+ +

◆ abort_

+ +
+
+ + + + + +
+ + + + +
bool beast::unit_test::suite::abort_ = false
+
+privateinherited
+
+ +

Definition at line 57 of file suite.h.

+ +
+
+ +

◆ aborted_

+ +
+
+ + + + + +
+ + + + +
bool beast::unit_test::suite::aborted_ = false
+
+privateinherited
+
+ +

Definition at line 58 of file suite.h.

+ +
+
+ +

◆ runner_

+ +
+
+ + + + + +
+ + + + +
runner* beast::unit_test::suite::runner_ = nullptr
+
+privateinherited
+
+ +

Definition at line 59 of file suite.h.

+ +
+
+ +

◆ log

+ +
+
+ + + + + +
+ + + + +
log_os<char> beast::unit_test::suite::log
+
+inherited
+
+ +

Logging output stream.

+

Text sent to the log output stream will be forwarded to the output stream associated with the runner.

+ +

Definition at line 152 of file suite.h.

+ +
+
+ +

◆ testcase

+ +
+
+ + + + + +
+ + + + +
testcase_t beast::unit_test::suite::testcase
+
+inherited
+
+ +

Memberspace for declaring test cases.

+ +

Definition at line 155 of file suite.h.

+ +
+
+
+ + + + diff --git a/classripple_1_1NodeStore_1_1NuDBFactory__test__coll__graph.map b/classripple_1_1NodeStore_1_1NuDBFactory__test__coll__graph.map new file mode 100644 index 0000000000..7e74545e70 --- /dev/null +++ b/classripple_1_1NodeStore_1_1NuDBFactory__test__coll__graph.map @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/classripple_1_1NodeStore_1_1NuDBFactory__test__coll__graph.md5 b/classripple_1_1NodeStore_1_1NuDBFactory__test__coll__graph.md5 new file mode 100644 index 0000000000..b57e1b8a8f --- /dev/null +++ b/classripple_1_1NodeStore_1_1NuDBFactory__test__coll__graph.md5 @@ -0,0 +1 @@ +0f9cc10e63caf1b22164615601c0c853 \ No newline at end of file diff --git a/classripple_1_1NodeStore_1_1NuDBFactory__test__coll__graph.png b/classripple_1_1NodeStore_1_1NuDBFactory__test__coll__graph.png new file mode 100644 index 0000000000..4819da2c46 Binary files /dev/null and b/classripple_1_1NodeStore_1_1NuDBFactory__test__coll__graph.png differ diff --git a/classripple_1_1NodeStore_1_1NuDBFactory__test__inherit__graph.map b/classripple_1_1NodeStore_1_1NuDBFactory__test__inherit__graph.map new file mode 100644 index 0000000000..b871b540c2 --- /dev/null +++ b/classripple_1_1NodeStore_1_1NuDBFactory__test__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classripple_1_1NodeStore_1_1NuDBFactory__test__inherit__graph.md5 b/classripple_1_1NodeStore_1_1NuDBFactory__test__inherit__graph.md5 new file mode 100644 index 0000000000..9efe3b120f --- /dev/null +++ b/classripple_1_1NodeStore_1_1NuDBFactory__test__inherit__graph.md5 @@ -0,0 +1 @@ +be4b839bdebea44d2283b67808496db6 \ No newline at end of file diff --git a/classripple_1_1NodeStore_1_1NuDBFactory__test__inherit__graph.png b/classripple_1_1NodeStore_1_1NuDBFactory__test__inherit__graph.png new file mode 100644 index 0000000000..29428da96b Binary files /dev/null and b/classripple_1_1NodeStore_1_1NuDBFactory__test__inherit__graph.png differ diff --git a/classripple_1_1NodeStore_1_1NullBackend-members.html b/classripple_1_1NodeStore_1_1NullBackend-members.html index f924d8e7eb..6cf8ad263d 100644 --- a/classripple_1_1NodeStore_1_1NullBackend-members.html +++ b/classripple_1_1NodeStore_1_1NullBackend-members.html @@ -84,19 +84,20 @@ $(function() { fetch(void const *, std::shared_ptr< NodeObject > *) overrideripple::NodeStore::NullBackendvirtual fetchBatch(std::vector< uint256 const * > const &hashes) overrideripple::NodeStore::NullBackendvirtual for_each(std::function< void(std::shared_ptr< NodeObject >)> f) overrideripple::NodeStore::NullBackendvirtual - getName() overrideripple::NodeStore::NullBackendvirtual - getWriteLoad() overrideripple::NodeStore::NullBackendvirtual - isOpen() overrideripple::NodeStore::NullBackendvirtual - NullBackend()=defaultripple::NodeStore::NullBackend - open(bool createIfMissing) overrideripple::NodeStore::NullBackendvirtual - ripple::NodeStore::Backend::open(bool createIfMissing, uint64_t appType, uint64_t uid, uint64_t salt)ripple::NodeStore::Backendvirtual - setDeletePath() overrideripple::NodeStore::NullBackendvirtual - store(std::shared_ptr< NodeObject > const &object) overrideripple::NodeStore::NullBackendvirtual - storeBatch(Batch const &batch) overrideripple::NodeStore::NullBackendvirtual - sync() overrideripple::NodeStore::NullBackendvirtual - verify()ripple::NodeStore::Backendvirtual - ~Backend()=defaultripple::NodeStore::Backendvirtual - ~NullBackend()=defaultripple::NodeStore::NullBackend + getBlockSize() constripple::NodeStore::Backendvirtual + getName() overrideripple::NodeStore::NullBackendvirtual + getWriteLoad() overrideripple::NodeStore::NullBackendvirtual + isOpen() overrideripple::NodeStore::NullBackendvirtual + NullBackend()=defaultripple::NodeStore::NullBackend + open(bool createIfMissing) overrideripple::NodeStore::NullBackendvirtual + ripple::NodeStore::Backend::open(bool createIfMissing, uint64_t appType, uint64_t uid, uint64_t salt)ripple::NodeStore::Backendvirtual + setDeletePath() overrideripple::NodeStore::NullBackendvirtual + store(std::shared_ptr< NodeObject > const &object) overrideripple::NodeStore::NullBackendvirtual + storeBatch(Batch const &batch) overrideripple::NodeStore::NullBackendvirtual + sync() overrideripple::NodeStore::NullBackendvirtual + verify()ripple::NodeStore::Backendvirtual + ~Backend()=defaultripple::NodeStore::Backendvirtual + ~NullBackend()=defaultripple::NodeStore::NullBackend