Globally rename UUID to FingerPrint

This commit is contained in:
alex85k 2014-06-04 20:35:00 +06:00 committed by Dennis Luxen
parent 11459d38d0
commit 7335e0809a
13 changed files with 69 additions and 69 deletions

2
.gitignore vendored
View File

@ -36,7 +36,7 @@ Thumbs.db
# build related files # # build related files #
####################### #######################
/build/ /build/
/Util/UUID.cpp /Util/FingerPrint.cpp
/Util/GitDescription.cpp /Util/GitDescription.cpp
# Eclipse related files # # Eclipse related files #

View File

@ -20,15 +20,15 @@ OPTION(WITH_TOOLS "Build ORSM tools" OFF)
include_directories(${CMAKE_SOURCE_DIR}/Include/) include_directories(${CMAKE_SOURCE_DIR}/Include/)
add_custom_command(OUTPUT ${CMAKE_SOURCE_DIR}/Util/UUID.cpp UUID.cpp.alwaysbuild add_custom_command(OUTPUT ${CMAKE_SOURCE_DIR}/Util/FingerPrint.cpp FingerPrint.cpp.alwaysbuild
COMMAND ${CMAKE_COMMAND} -DSOURCE_DIR=${CMAKE_SOURCE_DIR} COMMAND ${CMAKE_COMMAND} -DSOURCE_DIR=${CMAKE_SOURCE_DIR}
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/UUID-Config.cmake -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/FingerPrint-Config.cmake
DEPENDS DEPENDS
${CMAKE_SOURCE_DIR}/Util/UUID.cpp.in ${CMAKE_SOURCE_DIR}/Util/FingerPrint.cpp.in
COMMENT "Configuring UUID.cpp" COMMENT "Configuring FingerPrint.cpp"
VERBATIM) VERBATIM)
add_custom_target(UUIDConfigure DEPENDS ${CMAKE_SOURCE_DIR}/Util/UUID.cpp) add_custom_target(FingerPrintConfigure DEPENDS ${CMAKE_SOURCE_DIR}/Util/FingerPrint.cpp)
set(BOOST_COMPONENTS date_time filesystem iostreams program_options regex system thread) set(BOOST_COMPONENTS date_time filesystem iostreams program_options regex system thread)
@ -64,10 +64,10 @@ set(
${HttpGlob} ${HttpGlob}
) )
add_library(COORDLIB STATIC ${CoordinateGlob}) add_library(COORDLIB STATIC ${CoordinateGlob})
add_library(UUID STATIC Util/UUID.cpp) add_library(FINGERPRINT STATIC Util/FingerPrint.cpp)
add_library(OSRM ${OSRMSources} Util/GitDescription.cpp Util/UUID.cpp) add_library(OSRM ${OSRMSources} Util/GitDescription.cpp Util/FingerPrint.cpp)
add_library(GITDESCRIPTION STATIC Util/GitDescription.cpp) add_library(GITDESCRIPTION STATIC Util/GitDescription.cpp)
add_dependencies(UUID UUIDConfigure) add_dependencies(FINGERPRINT FingerPrintConfigure)
add_dependencies(GITDESCRIPTION GIT_DESCRIPTION) add_dependencies(GITDESCRIPTION GIT_DESCRIPTION)
add_executable(osrm-routed routed.cpp ${ServerGlob}) add_executable(osrm-routed routed.cpp ${ServerGlob})
@ -161,10 +161,10 @@ endif()
include_directories(${Boost_INCLUDE_DIRS}) include_directories(${Boost_INCLUDE_DIRS})
target_link_libraries(OSRM ${Boost_LIBRARIES} COORDLIB) target_link_libraries(OSRM ${Boost_LIBRARIES} COORDLIB)
target_link_libraries(osrm-extract ${Boost_LIBRARIES} UUID GITDESCRIPTION COORDLIB IMPORT) target_link_libraries(osrm-extract ${Boost_LIBRARIES} FINGERPRINT GITDESCRIPTION COORDLIB IMPORT)
target_link_libraries(osrm-prepare ${Boost_LIBRARIES} UUID GITDESCRIPTION COORDLIB IMPORT) target_link_libraries(osrm-prepare ${Boost_LIBRARIES} FINGERPRINT GITDESCRIPTION COORDLIB IMPORT)
target_link_libraries(osrm-routed ${Boost_LIBRARIES} OSRM UUID GITDESCRIPTION) target_link_libraries(osrm-routed ${Boost_LIBRARIES} OSRM FINGERPRINT GITDESCRIPTION)
target_link_libraries(osrm-datastore ${Boost_LIBRARIES} UUID GITDESCRIPTION COORDLIB) target_link_libraries(osrm-datastore ${Boost_LIBRARIES} FINGERPRINT GITDESCRIPTION COORDLIB)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
target_link_libraries(osrm-extract ${CMAKE_THREAD_LIBS_INIT}) target_link_libraries(osrm-extract ${CMAKE_THREAD_LIBS_INIT})
@ -239,10 +239,10 @@ if(WITH_TOOLS)
include_directories(${GDAL_INCLUDE_DIR}) include_directories(${GDAL_INCLUDE_DIR})
target_link_libraries( target_link_libraries(
osrm-components osrm-components
${GDAL_LIBRARIES} ${Boost_LIBRARIES} UUID GITDESCRIPTION COORDLIB) ${GDAL_LIBRARIES} ${Boost_LIBRARIES} FINGERPRINT GITDESCRIPTION COORDLIB)
endif() endif()
add_executable(osrm-cli Tools/simpleclient.cpp) add_executable(osrm-cli Tools/simpleclient.cpp)
target_link_libraries(osrm-cli ${Boost_LIBRARIES} OSRM UUID GITDESCRIPTION) target_link_libraries(osrm-cli ${Boost_LIBRARIES} OSRM FINGERPRINT GITDESCRIPTION)
target_link_libraries(osrm-cli ${TBB_LIBRARIES}) target_link_libraries(osrm-cli ${TBB_LIBRARIES})
add_executable(osrm-io-benchmark Tools/io-benchmark.cpp) add_executable(osrm-io-benchmark Tools/io-benchmark.cpp)
target_link_libraries(osrm-io-benchmark ${Boost_LIBRARIES} GITDESCRIPTION) target_link_libraries(osrm-io-benchmark ${Boost_LIBRARIES} GITDESCRIPTION)

View File

@ -215,7 +215,7 @@ void ExtractionContainers::PrepareData(const std::string &output_file_name,
// serialize restrictions // serialize restrictions
std::ofstream restrictions_out_stream; std::ofstream restrictions_out_stream;
restrictions_out_stream.open(restrictions_file_name.c_str(), std::ios::binary); restrictions_out_stream.open(restrictions_file_name.c_str(), std::ios::binary);
restrictions_out_stream.write((char *)&uuid, sizeof(UUID)); restrictions_out_stream.write((char *)&fingerprint, sizeof(FingerPrint));
restrictions_out_stream.write((char *)&number_of_useable_restrictions, sizeof(unsigned)); restrictions_out_stream.write((char *)&number_of_useable_restrictions, sizeof(unsigned));
// for (restrictions_iterator = restrictions_list.begin(); // for (restrictions_iterator = restrictions_list.begin();
// restrictions_iterator != restrictions_list.end(); // restrictions_iterator != restrictions_list.end();
@ -233,7 +233,7 @@ void ExtractionContainers::PrepareData(const std::string &output_file_name,
std::ofstream file_out_stream; std::ofstream file_out_stream;
file_out_stream.open(output_file_name.c_str(), std::ios::binary); file_out_stream.open(output_file_name.c_str(), std::ios::binary);
file_out_stream.write((char *)&uuid, sizeof(UUID)); file_out_stream.write((char *)&fingerprint, sizeof(FingerPrint));
file_out_stream.write((char *)&number_of_used_nodes, sizeof(unsigned)); file_out_stream.write((char *)&number_of_used_nodes, sizeof(unsigned));
time1 = std::chrono::steady_clock::now(); time1 = std::chrono::steady_clock::now();
std::cout << "[extractor] Confirming/Writing used nodes ... " << std::flush; std::cout << "[extractor] Confirming/Writing used nodes ... " << std::flush;
@ -268,7 +268,7 @@ void ExtractionContainers::PrepareData(const std::string &output_file_name,
std::cout << "[extractor] setting number of nodes ... " << std::flush; std::cout << "[extractor] setting number of nodes ... " << std::flush;
std::ios::pos_type previous_file_position = file_out_stream.tellp(); std::ios::pos_type previous_file_position = file_out_stream.tellp();
file_out_stream.seekp(std::ios::beg + sizeof(UUID)); file_out_stream.seekp(std::ios::beg + sizeof(FingerPrint));
file_out_stream.write((char *)&number_of_used_nodes, sizeof(unsigned)); file_out_stream.write((char *)&number_of_used_nodes, sizeof(unsigned));
file_out_stream.seekp(previous_file_position); file_out_stream.seekp(previous_file_position);

View File

@ -31,7 +31,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "InternalExtractorEdge.h" #include "InternalExtractorEdge.h"
#include "ExtractorStructs.h" #include "ExtractorStructs.h"
#include "../DataStructures/Restriction.h" #include "../DataStructures/Restriction.h"
#include "../Util/UUID.h" #include "../Util/FingerPrint.h"
#include <stxxl/vector> #include <stxxl/vector>
@ -52,7 +52,7 @@ class ExtractionContainers
STXXLStringVector name_list; STXXLStringVector name_list;
STXXLRestrictionsVector restrictions_list; STXXLRestrictionsVector restrictions_list;
STXXLWayIDStartEndVector way_start_end_id_list; STXXLWayIDStartEndVector way_start_end_id_list;
const UUID uuid; const FingerPrint fingerprint;
ExtractionContainers(); ExtractionContainers();

View File

@ -33,7 +33,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "../Util/GraphLoader.h" #include "../Util/GraphLoader.h"
#include "../Util/OSRMException.h" #include "../Util/OSRMException.h"
#include "../Util/SimpleLogger.h" #include "../Util/SimpleLogger.h"
#include "../Util/UUID.h" #include "../Util/FingerPrint.h"
#include <fstream> #include <fstream>
#include <memory> #include <memory>
@ -61,11 +61,11 @@ int main(int argc, char *argv[])
{ {
SimpleLogger().Write() << "Using restrictions from file: " << argv[2]; SimpleLogger().Write() << "Using restrictions from file: " << argv[2];
std::ifstream restriction_ifstream(argv[2], std::ios::binary); std::ifstream restriction_ifstream(argv[2], std::ios::binary);
const UUID uuid_orig; const FingerPrint fingerprint_orig;
UUID uuid_loaded; FingerPrint fingerprint_loaded;
restriction_ifstream.read((char *)&uuid_loaded, sizeof(UUID)); restriction_ifstream.read((char *)&fingerprint_loaded, sizeof(FingerPrint));
if (!uuid_loaded.TestGraphUtil(uuid_orig)) if (!fingerprint_loaded.TestGraphUtil(fingerprint_orig))
{ {
SimpleLogger().Write(logWARNING) << argv[2] << " was prepared with a different build. " SimpleLogger().Write(logWARNING) << argv[2] << " was prepared with a different build. "
"Reprocess to get rid of this warning."; "Reprocess to get rid of this warning.";

View File

@ -25,7 +25,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
#include "UUID.h" #include "FingerPrint.h"
#include "OSRMException.h" #include "OSRMException.h"
@ -44,7 +44,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#cmakedefine MD5GRAPH "${MD5GRAPH}" #cmakedefine MD5GRAPH "${MD5GRAPH}"
#cmakedefine MD5OBJECTS "${MD5OBJECTS}" #cmakedefine MD5OBJECTS "${MD5OBJECTS}"
UUID::UUID() : magic_number(1297240911) FingerPrint::FingerPrint() : magic_number(1297240911)
{ {
md5_prepare[32] = md5_tree[32] = md5_graph[32] = md5_objects[32] = '\0'; md5_prepare[32] = md5_tree[32] = md5_graph[32] = md5_objects[32] = '\0';
@ -65,13 +65,13 @@ UUID::UUID() : magic_number(1297240911)
has_64_bits = HAS64BITS; has_64_bits = HAS64BITS;
} }
UUID::~UUID() {} FingerPrint::~FingerPrint() {}
const boost::uuids::uuid &UUID::GetUUID() const { return named_uuid; } const boost::uuids::uuid &FingerPrint::GetFingerPrint() const { return named_uuid; }
bool UUID::IsMagicNumberOK() const { return 1297240911 == magic_number; } bool FingerPrint::IsMagicNumberOK() const { return 1297240911 == magic_number; }
bool UUID::TestGraphUtil(const UUID &other) const bool FingerPrint::TestGraphUtil(const FingerPrint &other) const
{ {
if (!other.IsMagicNumberOK()) if (!other.IsMagicNumberOK())
{ {
@ -80,7 +80,7 @@ bool UUID::TestGraphUtil(const UUID &other) const
return std::equal(md5_graph, md5_graph + 32, other.md5_graph); return std::equal(md5_graph, md5_graph + 32, other.md5_graph);
} }
bool UUID::TestPrepare(const UUID &other) const bool FingerPrint::TestPrepare(const FingerPrint &other) const
{ {
if (!other.IsMagicNumberOK()) if (!other.IsMagicNumberOK())
{ {
@ -89,7 +89,7 @@ bool UUID::TestPrepare(const UUID &other) const
return std::equal(md5_prepare, md5_prepare + 32, other.md5_prepare); return std::equal(md5_prepare, md5_prepare + 32, other.md5_prepare);
} }
bool UUID::TestRTree(const UUID &other) const bool FingerPrint::TestRTree(const FingerPrint &other) const
{ {
if (!other.IsMagicNumberOK()) if (!other.IsMagicNumberOK())
{ {
@ -98,7 +98,7 @@ bool UUID::TestRTree(const UUID &other) const
return std::equal(md5_tree, md5_tree + 32, other.md5_tree); return std::equal(md5_tree, md5_tree + 32, other.md5_tree);
} }
bool UUID::TestQueryObjects(const UUID &other) const bool FingerPrint::TestQueryObjects(const FingerPrint &other) const
{ {
if (!other.IsMagicNumberOK()) if (!other.IsMagicNumberOK())
{ {

View File

@ -25,25 +25,25 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
#ifndef UUID_H #ifndef FINGERPRINT_H
#define UUID_H #define FINGERPRINT_H
#include <boost/uuid/uuid.hpp> #include <boost/uuid/uuid.hpp>
// implements a singleton, i.e. there is one and only one conviguration object // implements a singleton, i.e. there is one and only one conviguration object
class UUID class FingerPrint
{ {
public: public:
UUID(); FingerPrint();
UUID(const UUID&) = delete; FingerPrint(const FingerPrint&) = delete;
~UUID(); ~FingerPrint();
const boost::uuids::uuid &GetUUID() const; const boost::uuids::uuid &GetFingerPrint() const;
bool IsMagicNumberOK() const; bool IsMagicNumberOK() const;
bool TestGraphUtil(const UUID &other) const; bool TestGraphUtil(const FingerPrint &other) const;
bool TestPrepare(const UUID &other) const; bool TestPrepare(const FingerPrint &other) const;
bool TestRTree(const UUID &other) const; bool TestRTree(const FingerPrint &other) const;
bool TestNodeInfo(const UUID &other) const; bool TestNodeInfo(const FingerPrint &other) const;
bool TestQueryObjects(const UUID &other) const; bool TestQueryObjects(const FingerPrint &other) const;
private: private:
const unsigned magic_number; const unsigned magic_number;
@ -57,4 +57,4 @@ class UUID
bool has_64_bits; bool has_64_bits;
}; };
#endif /* UUID_H */ #endif /* FingerPrint_H */

View File

@ -34,7 +34,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "../DataStructures/QueryNode.h" #include "../DataStructures/QueryNode.h"
#include "../DataStructures/Restriction.h" #include "../DataStructures/Restriction.h"
#include "../Util/SimpleLogger.h" #include "../Util/SimpleLogger.h"
#include "../Util/UUID.h" #include "../Util/FingerPrint.h"
#include "../typedefs.h" #include "../typedefs.h"
#include <boost/assert.hpp> #include <boost/assert.hpp>
@ -60,11 +60,11 @@ NodeID readBinaryOSRMGraphFromStream(std::istream &input_stream,
std::vector<NodeInfo> *int_to_ext_node_id_map, std::vector<NodeInfo> *int_to_ext_node_id_map,
std::vector<TurnRestriction> &restriction_list) std::vector<TurnRestriction> &restriction_list)
{ {
const UUID uuid_orig; const FingerPrint fingerprint_orig;
UUID uuid_loaded; FingerPrint fingerprint_loaded;
input_stream.read((char *)&uuid_loaded, sizeof(UUID)); input_stream.read((char *)&fingerprint_loaded, sizeof(FingerPrint));
if (!uuid_loaded.TestGraphUtil(uuid_orig)) if (!fingerprint_loaded.TestGraphUtil(fingerprint_orig))
{ {
SimpleLogger().Write(logWARNING) << ".osrm was prepared with different build.\n" SimpleLogger().Write(logWARNING) << ".osrm was prepared with different build.\n"
"Reprocess to get rid of this warning."; "Reprocess to get rid of this warning.";
@ -285,9 +285,9 @@ unsigned readHSGRFromStream(const boost::filesystem::path &hsgr_file,
boost::filesystem::ifstream hsgr_input_stream(hsgr_file, std::ios::binary); boost::filesystem::ifstream hsgr_input_stream(hsgr_file, std::ios::binary);
UUID uuid_loaded, uuid_orig; FingerPrint fingerprint_loaded, fingerprint_orig;
hsgr_input_stream.read((char *)&uuid_loaded, sizeof(UUID)); hsgr_input_stream.read((char *)&fingerprint_loaded, sizeof(FingerPrint));
if (!uuid_loaded.TestGraphUtil(uuid_orig)) if (!fingerprint_loaded.TestGraphUtil(fingerprint_orig))
{ {
SimpleLogger().Write(logWARNING) << ".hsgr was prepared with different build.\n" SimpleLogger().Write(logWARNING) << ".hsgr was prepared with different build.\n"
"Reprocess to get rid of this warning."; "Reprocess to get rid of this warning.";

View File

@ -1,4 +1,4 @@
set(OLDFILE ${SOURCE_DIR}/Util/UUID.cpp) set(OLDFILE ${SOURCE_DIR}/Util/FingerPrint.cpp)
if (EXISTS ${OLDFILE}) if (EXISTS ${OLDFILE})
file(REMOVE_RECURSE ${OLDFILE}) file(REMOVE_RECURSE ${OLDFILE})
endif() endif()
@ -7,4 +7,4 @@ file(MD5 ${SOURCE_DIR}/DataStructures/StaticRTree.h MD5RTREE)
file(MD5 ${SOURCE_DIR}/Util/GraphLoader.h MD5GRAPH) file(MD5 ${SOURCE_DIR}/Util/GraphLoader.h MD5GRAPH)
file(MD5 ${SOURCE_DIR}/Server/DataStructures/InternalDataFacade.h MD5OBJECTS) file(MD5 ${SOURCE_DIR}/Server/DataStructures/InternalDataFacade.h MD5OBJECTS)
CONFIGURE_FILE( ${SOURCE_DIR}/Util/UUID.cpp.in ${SOURCE_DIR}/Util/UUID.cpp ) CONFIGURE_FILE( ${SOURCE_DIR}/Util/FingerPrint.cpp.in ${SOURCE_DIR}/Util/FingerPrint.cpp )

View File

@ -37,7 +37,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "Util/BoostFileSystemFix.h" #include "Util/BoostFileSystemFix.h"
#include "Util/DataStoreOptions.h" #include "Util/DataStoreOptions.h"
#include "Util/SimpleLogger.h" #include "Util/SimpleLogger.h"
#include "Util/UUID.h" #include "Util/FingerPrint.h"
#include "typedefs.h" #include "typedefs.h"
#ifdef __linux__ #ifdef __linux__
@ -241,11 +241,11 @@ int main(const int argc, const char *argv[])
boost::filesystem::ifstream hsgr_input_stream(hsgr_path, std::ios::binary); boost::filesystem::ifstream hsgr_input_stream(hsgr_path, std::ios::binary);
UUID uuid_loaded, uuid_orig; FingerPrint fingerprint_loaded, fingerprint_orig;
hsgr_input_stream.read((char *)&uuid_loaded, sizeof(UUID)); hsgr_input_stream.read((char *)&fingerprint_loaded, sizeof(FingerPrint));
if (uuid_loaded.TestGraphUtil(uuid_orig)) if (fingerprint_loaded.TestGraphUtil(fingerprint_orig))
{ {
SimpleLogger().Write(logDEBUG) << "UUID checked out ok"; SimpleLogger().Write(logDEBUG) << "Fingerprint checked out ok";
} }
else else
{ {

View File

@ -36,7 +36,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "Util/ProgramOptions.h" #include "Util/ProgramOptions.h"
#include "Util/SimpleLogger.h" #include "Util/SimpleLogger.h"
#include "Util/StringUtil.h" #include "Util/StringUtil.h"
#include "Util/UUID.h" #include "Util/FingerPrint.h"
#include "typedefs.h" #include "typedefs.h"
#include <cstdlib> #include <cstdlib>
@ -51,7 +51,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <tbb/task_scheduler_init.h> #include <tbb/task_scheduler_init.h>
ExtractorCallbacks *extractor_callbacks; ExtractorCallbacks *extractor_callbacks;
UUID uuid; FingerPrint fingerprint;
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {

View File

@ -191,10 +191,10 @@ int main(int argc, char *argv[])
LogPolicy::GetInstance().Unmute(); LogPolicy::GetInstance().Unmute();
boost::filesystem::ifstream restriction_stream(restrictions_path, std::ios::binary); boost::filesystem::ifstream restriction_stream(restrictions_path, std::ios::binary);
TurnRestriction restriction; TurnRestriction restriction;
UUID uuid_loaded, uuid_orig; FingerPrint fingerprint_loaded, fingerprint_orig;
unsigned number_of_usable_restrictions = 0; unsigned number_of_usable_restrictions = 0;
restriction_stream.read((char *)&uuid_loaded, sizeof(UUID)); restriction_stream.read((char *)&fingerprint_loaded, sizeof(FingerPrint));
if (!uuid_loaded.TestPrepare(uuid_orig)) if (!fingerprint_loaded.TestPrepare(fingerprint_orig))
{ {
SimpleLogger().Write(logWARNING) << ".restrictions was prepared with different build.\n" SimpleLogger().Write(logWARNING) << ".restrictions was prepared with different build.\n"
"Reprocess to get rid of this warning."; "Reprocess to get rid of this warning.";
@ -382,7 +382,7 @@ int main(int argc, char *argv[])
<< " edges"; << " edges";
boost::filesystem::ofstream hsgr_output_stream(graphOut, std::ios::binary); boost::filesystem::ofstream hsgr_output_stream(graphOut, std::ios::binary);
hsgr_output_stream.write((char *)&uuid_orig, sizeof(UUID)); hsgr_output_stream.write((char *)&fingerprint_orig, sizeof(FingerPrint));
for (const QueryEdge &edge : contracted_edge_list) for (const QueryEdge &edge : contracted_edge_list)
{ {
BOOST_ASSERT(UINT_MAX != edge.source); BOOST_ASSERT(UINT_MAX != edge.source);

View File

@ -30,7 +30,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "Util/GitDescription.h" #include "Util/GitDescription.h"
#include "Util/ProgramOptions.h" #include "Util/ProgramOptions.h"
#include "Util/SimpleLogger.h" #include "Util/SimpleLogger.h"
#include "Util/UUID.h" #include "Util/FingerPrint.h"
#ifdef __linux__ #ifdef __linux__
#include <sys/mman.h> #include <sys/mman.h>