mirror of
https://github.com/EvernodeXRPL/hpcore.git
synced 2026-04-29 15:37:59 +00:00
* Added flat buffer state message request * Added state vote * Added state to ledger history and did necessary changes * Completed receiveing state request * State read/write helpers. * Added new fbs schema * Added more state_store helper methods. * Started processing response * Fixed compile errors * Added get file length. * Handled state content response * Statefs code cleanup and fixes. * Completed response handling * Completed changes in handling state response * State sync integration fixes. * Fuse mount waiting logic. * Fixed state syncing issues * state sync fixes * fixes * State sync fixes. * Fixed fs entries retrieval issues. * changed desync logic * Added directory helper functions. * Handled return statemetns from statefs * Fixed state folder deletion. * handled errors from statefs * Working for small files * Got state sync working. * Removed cout. * Fixed catering for stae issue * Fixed block hash map flatbuf issue. * Added expected hash * Added helpers for expected hash comparison. * Improved state req/resp awaiting logic. * Fixes. * Fixes. * Block request ordering fix. * Removed couts * Closed non-closed file descriptors * Minor fixes. * Cluster create script changes. * Fixed reset time off issue.
50 lines
1.9 KiB
C++
50 lines
1.9 KiB
C++
#ifndef _HP_FBSCHEMA_COMMON_HELPERS_
|
|
#define _HP_FBSCHEMA_COMMON_HELPERS_
|
|
|
|
#include "../pchheader.hpp"
|
|
#include <flatbuffers/flatbuffers.h>
|
|
#include "common_schema_generated.h"
|
|
#include "../statefs/hasher.hpp"
|
|
|
|
namespace fbschema
|
|
{
|
|
/**
|
|
* This section contains common Flatbuffer message reading/writing helpers.
|
|
*/
|
|
|
|
//---Conversion helpers from flatbuffers data types to std data types---//
|
|
|
|
std::string_view flatbuff_bytes_to_sv(const uint8_t *data, const flatbuffers::uoffset_t length);
|
|
|
|
std::string_view flatbuff_bytes_to_sv(const flatbuffers::Vector<uint8_t> *buffer);
|
|
|
|
std::string_view flatbuff_str_to_sv(const flatbuffers::String *buffer);
|
|
|
|
hasher::B2H flatbuff_bytes_to_hash(const flatbuffers::Vector<uint8_t> *buffer);
|
|
|
|
const std::set<std::string>
|
|
flatbuf_bytearrayvector_to_stringlist(const flatbuffers::Vector<flatbuffers::Offset<ByteArray>> *fbvec);
|
|
|
|
const std::unordered_map<std::string, const std::string>
|
|
flatbuf_pairvector_to_stringmap(const flatbuffers::Vector<flatbuffers::Offset<BytesKeyValuePair>> *fbvec);
|
|
|
|
//---Conversion helpers from std data types to flatbuffers data types---//
|
|
|
|
const flatbuffers::Offset<flatbuffers::Vector<uint8_t>>
|
|
sv_to_flatbuff_bytes(flatbuffers::FlatBufferBuilder &builder, std::string_view sv);
|
|
|
|
const flatbuffers::Offset<flatbuffers::String>
|
|
sv_to_flatbuff_str(flatbuffers::FlatBufferBuilder &builder, std::string_view sv);
|
|
|
|
const flatbuffers::Offset<flatbuffers::Vector<uint8_t>>
|
|
hash_to_flatbuff_bytes(flatbuffers::FlatBufferBuilder &builder, hasher::B2H hash);
|
|
|
|
const flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<ByteArray>>>
|
|
stringlist_to_flatbuf_bytearrayvector(flatbuffers::FlatBufferBuilder &builder, const std::set<std::string> &set);
|
|
|
|
const flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<BytesKeyValuePair>>>
|
|
stringmap_to_flatbuf_bytepairvector(flatbuffers::FlatBufferBuilder &builder, const std::unordered_map<std::string, const std::string> &map);
|
|
|
|
} // namespace fbschema
|
|
|
|
#endif |