MCPcopy Create free account
hub / github.com/BTCGPU/BTCGPU / Write

Method Write

src/wallet/db.h:233–259  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

231
232 template <typename K, typename T>
233 bool Write(const K& key, const T& value, bool fOverwrite = true)
234 {
235 if (!pdb)
236 return true;
237 if (fReadOnly)
238 assert(!"Write called on database in read-only mode");
239
240 // Key
241 CDataStream ssKey(SER_DISK, CLIENT_VERSION);
242 ssKey.reserve(1000);
243 ssKey << key;
244 Dbt datKey(ssKey.data(), ssKey.size());
245
246 // Value
247 CDataStream ssValue(SER_DISK, CLIENT_VERSION);
248 ssValue.reserve(10000);
249 ssValue << value;
250 Dbt datValue(ssValue.data(), ssValue.size());
251
252 // Write
253 int ret = pdb->put(activeTxn, &datKey, &datValue, (fOverwrite ? 0 : DB_NOOVERWRITE));
254
255 // Clear memory in case it was a private key
256 memory_cleanse(datKey.get_data(), datKey.get_size());
257 memory_cleanse(datValue.get_data(), datValue.get_size());
258 return (ret == 0);
259 }
260
261 template <typename K>
262 bool Erase(const K& key)

Callers 4

operator()Method · 0.45
WriteICMethod · 0.45
BytesToKeySHA512AESMethod · 0.45
operator()Method · 0.45

Calls 4

memory_cleanseFunction · 0.85
reserveMethod · 0.45
dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected