From 11ca66e7b85122321f4e6d9243f429ee5a780aa4 Mon Sep 17 00:00:00 2001 From: manojsdoshi Date: Fri, 5 Feb 2021 19:01:54 +0000 Subject: [PATCH] deploy: 8defb4cd286765da87ef863b5606400aab6cf69f --- AccountStateSF_8h_source.html | 2 +- Application_8cpp_source.html | 2 +- Application_8h_source.html | 2 +- Backend_8h_source.html | 172 +- BuildInfo_8cpp_source.html | 2 +- CassandraFactory_8cpp_source.html | 2 +- DatabaseNodeImp_8cpp_source.html | 12 +- DatabaseNodeImp_8h_source.html | 312 +- DatabaseRotatingImp_8cpp_source.html | 258 +- DatabaseRotatingImp_8h_source.html | 106 +- DatabaseRotating_8h_source.html | 2 +- DatabaseShardImp_8cpp_source.html | 2735 ++++++++------- DatabaseShardImp_8h_source.html | 409 ++- DatabaseShard_8h_source.html | 4 +- DatabaseShard__test_8cpp_source.html | 4 +- Database_8cpp_source.html | 60 +- Database_8h_source.html | 484 ++- Family_8h_source.html | 2 +- InboundLedger_8cpp_source.html | 2 +- InboundLedger_8h_source.html | 2 +- LedgerMaster_8cpp_source.html | 4 +- MemoryFactory_8cpp_source.html | 83 +- NodeFamily_8h_source.html | 2 +- NuDBFactory_8cpp_source.html | 129 +- NullFactory_8cpp_source.html | 101 +- OverlayImpl_8cpp_source.html | 2 +- PeerImp_8cpp_source.html | 2 +- RocksDBFactory_8cpp_source.html | 93 +- SHAMapStoreImp_8cpp_source.html | 2 +- ShardFamily_8h_source.html | 2 +- Shard_8cpp_source.html | 2 +- TestBase_8h_source.html | 4 +- TransactionStateSF_8h_source.html | 2 +- ...ipple_1_1NodeStore_1_1Backend-members.html | 2 +- classripple_1_1NodeStore_1_1Backend.html | 20 +- ...pple_1_1NodeStore_1_1Database-members.html | 149 +- classripple_1_1NodeStore_1_1Database.html | 158 +- ...1NodeStore_1_1DatabaseNodeImp-members.html | 167 +- ...ipple_1_1NodeStore_1_1DatabaseNodeImp.html | 180 +- ...NodeStore_1_1DatabaseRotating-members.html | 153 +- ...pple_1_1NodeStore_1_1DatabaseRotating.html | 156 +- ...eStore_1_1DatabaseRotatingImp-members.html | 40 +- ...e_1_1NodeStore_1_1DatabaseRotatingImp.html | 203 +- ...1_1NodeStore_1_1DatabaseShard-members.html | 181 +- ...sripple_1_1NodeStore_1_1DatabaseShard.html | 156 +- ...NodeStore_1_1DatabaseShardImp-members.html | 265 +- ...pple_1_1NodeStore_1_1DatabaseShardImp.html | 258 +- ...1_1NodeStore_1_1MemoryBackend-members.html | 2 +- ...sripple_1_1NodeStore_1_1MemoryBackend.html | 20 +- ...sripple_1_1NodeStore_1_1MemoryFactory.html | 8 +- ...e_1_1NodeStore_1_1NuDBBackend-members.html | 2 +- classripple_1_1NodeStore_1_1NuDBBackend.html | 20 +- classripple_1_1NodeStore_1_1NuDBFactory.html | 12 +- ...e_1_1NodeStore_1_1NullBackend-members.html | 2 +- classripple_1_1NodeStore_1_1NullBackend.html | 20 +- classripple_1_1NodeStore_1_1NullFactory.html | 10 +- common_8h_source.html | 2 +- functions.html | 22 +- functions_c.html | 8 +- functions_func.html | 30 +- functions_func_c.html | 10 +- functions_func_g.html | 15 +- functions_func_r.html | 2 +- functions_func_s.html | 2 +- functions_func_v.html | 8 +- functions_g.html | 25 +- functions_p.html | 12 +- functions_r.html | 6 +- functions_s.html | 2 +- functions_t.html | 4 +- functions_v.html | 14 +- functions_vars_r.html | 4 +- functions_vars_w.html | 6 +- functions_w.html | 8 +- hierarchy.html | 2 +- inherit_graph_343.map | 2 +- inherit_graph_343.md5 | 2 +- inherit_graph_343.png | Bin 2869 -> 3106 bytes inherits.html | 6 +- namespaceripple_1_1BuildInfo.html | 4 +- namespaceripple_1_1NodeStore.html | 6 +- search/all_1.js | 2 +- search/all_10.js | 1396 ++++---- search/all_11.js | 94 +- search/all_12.js | 1310 +++---- search/all_13.js | 2690 +++++++-------- search/all_14.js | 3064 ++++++++--------- search/all_15.js | 708 ++-- search/all_16.js | 506 +-- search/all_17.js | 466 +-- search/all_18.js | 154 +- search/all_19.js | 14 +- search/all_1a.js | 16 +- search/all_1b.js | 708 ++-- search/all_3.js | 2 +- search/all_7.js | 1025 +++--- search/all_8.js | 380 +- search/all_9.js | 1528 ++++---- search/all_a.js | 202 +- search/all_b.js | 106 +- search/all_c.js | 884 ++--- search/all_d.js | 1912 +++++----- search/all_e.js | 614 ++-- search/all_f.js | 598 ++-- search/classes_0.js | 4 +- search/classes_1.js | 386 +-- search/classes_10.js | 248 +- search/classes_11.js | 22 +- search/classes_12.js | 254 +- search/classes_13.js | 650 ++-- search/classes_14.js | 294 +- search/classes_15.js | 416 +-- search/classes_16.js | 248 +- search/classes_17.js | 140 +- search/classes_18.js | 34 +- search/classes_19.js | 4 +- search/classes_1a.js | 10 +- search/classes_2.js | 232 +- search/classes_3.js | 406 +-- search/classes_4.js | 196 +- search/classes_5.js | 184 +- search/classes_6.js | 162 +- search/classes_7.js | 66 +- search/classes_8.js | 82 +- search/classes_9.js | 410 +-- search/classes_a.js | 46 +- search/classes_b.js | 34 +- search/classes_c.js | 214 +- search/classes_d.js | 266 +- search/classes_e.js | 148 +- search/classes_f.js | 102 +- search/enums_0.js | 10 +- search/enums_1.js | 22 +- search/enums_10.js | 30 +- search/enums_11.js | 32 +- search/enums_12.js | 6 +- search/enums_13.js | 6 +- search/enums_14.js | 6 +- search/enums_2.js | 10 +- search/enums_3.js | 10 +- search/enums_4.js | 6 +- search/enums_5.js | 4 +- search/enums_6.js | 4 +- search/enums_7.js | 4 +- search/enums_8.js | 4 +- search/enums_9.js | 12 +- search/enums_a.js | 4 +- search/enums_b.js | 6 +- search/enums_c.js | 6 +- search/enums_d.js | 16 +- search/enums_e.js | 2 +- search/enums_f.js | 8 +- search/enumvalues_0.js | 40 +- search/enumvalues_1.js | 36 +- search/enumvalues_10.js | 170 +- search/enumvalues_11.js | 170 +- search/enumvalues_12.js | 414 +-- search/enumvalues_13.js | 26 +- search/enumvalues_14.js | 12 +- search/enumvalues_15.js | 18 +- search/enumvalues_16.js | 20 +- search/enumvalues_17.js | 2 +- search/enumvalues_2.js | 50 +- search/enumvalues_3.js | 54 +- search/enumvalues_4.js | 30 +- search/enumvalues_5.js | 36 +- search/enumvalues_6.js | 40 +- search/enumvalues_7.js | 18 +- search/enumvalues_8.js | 30 +- search/enumvalues_9.js | 76 +- search/enumvalues_a.js | 26 +- search/enumvalues_b.js | 144 +- search/enumvalues_c.js | 48 +- search/enumvalues_d.js | 66 +- search/enumvalues_e.js | 34 +- search/enumvalues_f.js | 44 +- search/files_0.js | 8 +- search/files_1.js | 4 +- search/files_10.js | 8 +- search/files_2.js | 68 +- search/files_3.js | 2 +- search/files_4.js | 4 +- search/files_5.js | 10 +- search/files_6.js | 14 +- search/files_7.js | 6 +- search/files_8.js | 8 +- search/files_9.js | 4 +- search/files_a.js | 4 +- search/files_b.js | 2 +- search/files_c.js | 8 +- search/files_d.js | 26 +- search/files_e.js | 10 +- search/files_f.js | 6 +- search/functions_0.js | 2 +- search/functions_1.js | 726 ++-- search/functions_10.js | 916 ++--- search/functions_11.js | 48 +- search/functions_12.js | 592 ++-- search/functions_13.js | 1320 +++---- search/functions_14.js | 2108 ++++++------ search/functions_15.js | 226 +- search/functions_16.js | 184 +- search/functions_17.js | 292 +- search/functions_18.js | 88 +- search/functions_19.js | 2 +- search/functions_1a.js | 10 +- search/functions_1b.js | 708 ++-- search/functions_2.js | 298 +- search/functions_3.js | 912 ++--- search/functions_4.js | 698 ++-- search/functions_5.js | 300 +- search/functions_6.js | 524 +-- search/functions_7.js | 1173 ++++--- search/functions_8.js | 192 +- search/functions_9.js | 800 ++--- search/functions_a.js | 52 +- search/functions_b.js | 34 +- search/functions_c.js | 352 +- search/functions_d.js | 568 +-- search/functions_e.js | 294 +- search/functions_f.js | 422 +-- search/groups_0.js | 2 +- search/namespaces_0.js | 24 +- search/namespaces_1.js | 4 +- search/namespaces_2.js | 2 +- search/namespaces_3.js | 74 +- search/namespaces_4.js | 24 +- search/pages_0.js | 4 +- search/pages_1.js | 10 +- search/pages_2.js | 2 +- search/pages_3.js | 4 +- search/pages_4.js | 6 +- search/pages_5.js | 4 +- search/pages_6.js | 4 +- search/pages_7.js | 2 +- search/pages_8.js | 4 +- search/pages_9.js | 6 +- search/pages_a.js | 16 +- search/pages_b.js | 8 +- search/pages_c.js | 6 +- search/pages_d.js | 2 +- search/related_0.js | 8 +- search/related_1.js | 16 +- search/related_2.js | 6 +- search/related_3.js | 4 +- search/related_4.js | 2 +- search/related_5.js | 2 +- search/related_6.js | 18 +- search/related_7.js | 10 +- search/related_8.js | 34 +- search/related_9.js | 6 +- search/related_a.js | 10 +- search/related_b.js | 14 +- search/related_c.js | 4 +- search/related_d.js | 6 +- search/typedefs_0.js | 50 +- search/typedefs_1.js | 28 +- search/typedefs_10.js | 2 +- search/typedefs_11.js | 58 +- search/typedefs_12.js | 144 +- search/typedefs_13.js | 82 +- search/typedefs_14.js | 18 +- search/typedefs_15.js | 14 +- search/typedefs_16.js | 12 +- search/typedefs_17.js | 4 +- search/typedefs_18.js | 2 +- search/typedefs_2.js | 68 +- search/typedefs_3.js | 28 +- search/typedefs_4.js | 38 +- search/typedefs_5.js | 26 +- search/typedefs_6.js | 2 +- search/typedefs_7.js | 36 +- search/typedefs_8.js | 54 +- search/typedefs_9.js | 6 +- search/typedefs_a.js | 8 +- search/typedefs_b.js | 52 +- search/typedefs_c.js | 58 +- search/typedefs_d.js | 24 +- search/typedefs_e.js | 20 +- search/typedefs_f.js | 58 +- search/variables_0.js | 258 +- search/variables_1.js | 124 +- search/variables_10.js | 40 +- search/variables_11.js | 324 +- search/variables_12.js | 796 ++--- search/variables_13.js | 342 +- search/variables_14.js | 70 +- search/variables_15.js | 122 +- search/variables_16.js | 102 +- search/variables_17.js | 18 +- search/variables_18.js | 4 +- search/variables_19.js | 2 +- search/variables_2.js | 350 +- search/variables_3.js | 210 +- search/variables_4.js | 104 +- search/variables_5.js | 340 +- search/variables_6.js | 42 +- search/variables_7.js | 98 +- search/variables_8.js | 372 +- search/variables_9.js | 48 +- search/variables_a.js | 26 +- search/variables_b.js | 262 +- search/variables_c.js | 1134 +++--- search/variables_d.js | 196 +- search/variables_e.js | 100 +- search/variables_f.js | 298 +- ...eStore_1_1Backend_1_1Counters-members.html | 17 +- ...e_1_1NodeStore_1_1Backend_1_1Counters.html | 185 +- ...re_1_1Backend_1_1Counters__coll__graph.map | 7 +- ...re_1_1Backend_1_1Counters__coll__graph.md5 | 2 +- ...re_1_1Backend_1_1Counters__coll__graph.png | Bin 11742 -> 8007 bytes ...re_1_1DatabaseRotatingImp_1_1Backends.html | 6 +- 312 files changed, 26966 insertions(+), 27143 deletions(-) diff --git a/AccountStateSF_8h_source.html b/AccountStateSF_8h_source.html index 03203a3907..170dc8e985 100644 --- a/AccountStateSF_8h_source.html +++ b/AccountStateSF_8h_source.html @@ -127,7 +127,7 @@ $(function() {
56 
57 #endif
-
Persistency layer for NodeObject.
Definition: Database.h:52
+
Persistency layer for NodeObject.
Definition: Database.h:50
AccountStateSF(NodeStore::Database &db, AbstractFetchPackContainer &fp)
boost::optional< Blob > getNode(SHAMapHash const &nodeHash) const override
diff --git a/Application_8cpp_source.html b/Application_8cpp_source.html index fe66d8218a..180285cc8d 100644 --- a/Application_8cpp_source.html +++ b/Application_8cpp_source.html @@ -2413,7 +2413,7 @@ $(function() {
ValidatorList & validators() override
T strlen(T... args)
Definition: STLedgerEntry.h:30
-
Persistency layer for NodeObject.
Definition: Database.h:52
+
Persistency layer for NodeObject.
Definition: Database.h:50
STL class.
CachedSLEs & cachedSLEs() override
STL class.
diff --git a/Application_8h_source.html b/Application_8h_source.html index 995933f5b5..8ebf8e08b8 100644 --- a/Application_8h_source.html +++ b/Application_8h_source.html @@ -363,7 +363,7 @@ $(function() {
virtual Cluster & cluster()=0
virtual TaggedCache< uint256, AcceptedLedger > & getAcceptedLedgerCache()=0
Definition: STLedgerEntry.h:30
-
Persistency layer for NodeObject.
Definition: Database.h:52
+
Persistency layer for NodeObject.
Definition: Database.h:50
STL class.
STL class.
diff --git a/Backend_8h_source.html b/Backend_8h_source.html index 78fd7fa597..7d0e6da225 100644 --- a/Backend_8h_source.html +++ b/Backend_8h_source.html @@ -101,111 +101,131 @@ $(function() {
39 class Backend
40 {
41 public:
-
42  struct Counters
-
43  {
-
44  std::atomic<std::uint64_t> writeDurationUs{0};
-
45  std::atomic<std::uint64_t> writeRetries{0};
-
46  std::atomic<std::uint64_t> writesDelayed{0};
-
47  std::atomic<std::uint64_t> readRetries{0};
-
48  std::atomic<std::uint64_t> readErrors{0};
-
49  };
-
50 
-
57  virtual ~Backend() = default;
-
58 
-
62  virtual std::string
-
63  getName() = 0;
+
42  template <typename T>
+
43  struct Counters
+
44  {
+
45  Counters() = default;
+
46  Counters(Counters const&) = default;
+
47 
+
48  template <typename U>
+
49  Counters(Counters<U> const& other)
+
50  : writeDurationUs(other.writeDurationUs)
+
51  , writeRetries(other.writeRetries)
+
52  , writesDelayed(other.writesDelayed)
+
53  , readRetries(other.readRetries)
+
54  , readErrors(other.readErrors)
+
55  {
+
56  }
+
57 
+
58  T writeDurationUs = {};
+
59  T writeRetries = {};
+
60  T writesDelayed = {};
+
61  T readRetries = {};
+
62  T readErrors = {};
+
63  };
64 
-
69  virtual void
-
70  open(bool createIfMissing = true) = 0;
-
71 
-
74  virtual bool
-
75  isOpen() = 0;
-
76 
-
80  virtual void
-
81  close() = 0;
-
82 
-
91  virtual Status
-
92  fetch(void const* key, std::shared_ptr<NodeObject>* pObject) = 0;
-
93 
-
95  virtual bool
-
96  canFetchBatch() = 0;
-
97 
-
99  virtual std::pair<std::vector<std::shared_ptr<NodeObject>>, Status>
-
100  fetchBatch(std::vector<uint256 const*> const& hashes) = 0;
-
101 
-
108  virtual void
-
109  store(std::shared_ptr<NodeObject> const& object) = 0;
-
110 
-
115  virtual void
-
116  storeBatch(Batch const& batch) = 0;
-
117 
-
118  virtual void
-
119  sync() = 0;
-
120 
-
127  virtual void
-
128  for_each(std::function<void(std::shared_ptr<NodeObject>)> f) = 0;
-
129 
-
131  virtual int
-
132  getWriteLoad() = 0;
-
133 
-
135  virtual void
-
136  setDeletePath() = 0;
-
137 
-
139  virtual void
-
140  verify() = 0;
-
141 
-
143  virtual int
-
144  fdRequired() const = 0;
-
145 
-
146  virtual Counters const&
-
147  counters() const = 0;
-
148 
-
150  bool
-
151  backed() const
-
152  {
-
153  return fdRequired();
-
154  }
-
155 };
-
156 
-
157 } // namespace NodeStore
-
158 } // namespace ripple
+
71  virtual ~Backend() = default;
+
72 
+
76  virtual std::string
+
77  getName() = 0;
+
78 
+
83  virtual void
+
84  open(bool createIfMissing = true) = 0;
+
85 
+
88  virtual bool
+
89  isOpen() = 0;
+
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 bool
+
110  canFetchBatch() = 0;
+
111 
+
113  virtual std::pair<std::vector<std::shared_ptr<NodeObject>>, Status>
+
114  fetchBatch(std::vector<uint256 const*> const& hashes) = 0;
+
115 
+
122  virtual void
+
123  store(std::shared_ptr<NodeObject> const& object) = 0;
+
124 
+
129  virtual void
+
130  storeBatch(Batch const& batch) = 0;
+
131 
+
132  virtual void
+
133  sync() = 0;
+
134 
+
141  virtual void
+
142  for_each(std::function<void(std::shared_ptr<NodeObject>)> f) = 0;
+
143 
+
145  virtual int
+
146  getWriteLoad() = 0;
+
147 
+
149  virtual void
+
150  setDeletePath() = 0;
+
151 
+
153  virtual void
+
154  verify() = 0;
+
155 
+
157  virtual int
+
158  fdRequired() const = 0;
159 
-
160 #endif
+
165  virtual std::optional<Counters<std::uint64_t>>
+
166  counters() const
+
167  {
+
168  return std::nullopt;
+
169  }
+
170 
+
172  bool
+
173  backed() const
+
174  {
+
175  return fdRequired();
+
176  }
+
177 };
+
178 
+
179 } // namespace NodeStore
+
180 } // namespace ripple
+
181 
+
182 #endif
-
std::atomic< std::uint64_t > writeRetries
Definition: Backend.h:45
-
bool backed() const
Returns true if the backend uses permanent storage.
Definition: Backend.h:151
+
bool backed() const
Returns true if the backend uses permanent storage.
Definition: Backend.h:173
STL class.
virtual int getWriteLoad()=0
Estimate the number of write operations pending.
STL class.
-
virtual Counters const & counters() const =0
-
std::atomic< std::uint64_t > readRetries
Definition: Backend.h:47
virtual void sync()=0
virtual void store(std::shared_ptr< NodeObject > const &object)=0
Store a single object.
-
std::atomic< std::uint64_t > writesDelayed
Definition: Backend.h:46
+
Counters()=default
virtual void close()=0
Close the backend.
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.
-
std::atomic< std::uint64_t > writeDurationUs
Definition: Backend.h:44
+
virtual std::optional< Counters< std::uint64_t > > counters() const
Returns read and write stats.
Definition: Backend.h:166
+
Counters(Counters< U > const &other)
Definition: Backend.h:49
virtual ~Backend()=default
Destroy the backend.
+
T readErrors
Definition: Backend.h:62
virtual std::pair< std::vector< std::shared_ptr< NodeObject > >, Status > fetchBatch(std::vector< uint256 const * > const &hashes)=0
Fetch a batch synchronously.
-
std::atomic< std::uint64_t > readErrors
Definition: Backend.h:48
virtual bool isOpen()=0
Returns true is the database is open.
+
T writesDelayed
Definition: Backend.h:60
Status
Return codes from Backend operations.
virtual void setDeletePath()=0
Remove contents on disk upon destruction.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
virtual int fdRequired() const =0
Returns the number of file descriptors the backend expects to need.
virtual std::string getName()=0
Get the human-readable name of this backend.
+
+
T readRetries
Definition: Backend.h:61
virtual bool canFetchBatch()=0
Return true if batch fetches are optimized.
virtual void storeBatch(Batch const &batch)=0
Store a group of objects.
virtual void open(bool createIfMissing=true)=0
Open the backend.
virtual void verify()=0
Perform consistency checks on database.
virtual Status fetch(void const *key, std::shared_ptr< NodeObject > *pObject)=0
Fetch a single object.
+
T writeDurationUs
Definition: Backend.h:58
+
T writeRetries
Definition: Backend.h:59
A backend used for the NodeStore.
Definition: Backend.h:39
-
Definition: Backend.h:42
+
Definition: Backend.h:43