sort batches of writes to reduce fragmentation

This commit is contained in:
Doug Hoyte
2023-01-11 23:36:39 -05:00
parent 428f51528b
commit 8102cd6a00
5 changed files with 18 additions and 12 deletions

View File

@ -72,9 +72,15 @@ struct EventToWrite {
std::string jsonStr;
uint64_t receivedAt;
void *userData = nullptr;
quadrable::Key quadKey;
uint64_t nodeId = 0;
EventWriteStatus status = EventWriteStatus::Pending;
EventToWrite(std::string flatStr, std::string jsonStr, uint64_t receivedAt, void *userData = nullptr) : flatStr(flatStr), jsonStr(jsonStr), receivedAt(receivedAt), userData(userData) {
const NostrIndex::Event *flat = flatbuffers::GetRoot<NostrIndex::Event>(flatStr.data());
quadKey = flatEventToQuadrableKey(flat);
}
};
void writeEvents(lmdb::txn &txn, quadrable::Quadrable &qdb, std::deque<EventToWrite> &evs);
void writeEvents(lmdb::txn &txn, quadrable::Quadrable &qdb, std::vector<EventToWrite> &evs);