From 86fef08650ec906cecc8acbdfce58f7ac4c26afc Mon Sep 17 00:00:00 2001 From: larteyoh Date: Mon, 22 Apr 2024 12:20:29 +0000 Subject: [PATCH] rename mapper to key_mapper --- CMakeLists.txt | 4 +-- .../p2p/{mapper.cpp => key_mapper.cpp} | 26 +++++++++---------- .../p2p/{mapper.hpp => key_mapper.hpp} | 6 ++--- src/core/protocol/p2p/node.cpp | 4 +-- src/core/protocol/p2p/node.hpp | 4 +-- src/neroshop.hpp | 2 +- 6 files changed, 23 insertions(+), 23 deletions(-) rename src/core/protocol/p2p/{mapper.cpp => key_mapper.cpp} (95%) rename src/core/protocol/p2p/{mapper.hpp => key_mapper.hpp} (95%) diff --git a/CMakeLists.txt b/CMakeLists.txt index f15d33d..d8e4d8e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -425,7 +425,7 @@ set(neroshop_price_src set(neroshop_protocol_src ${NEROSHOP_CORE_SRC_DIR}/protocol/messages/msgpack.cpp - ${NEROSHOP_CORE_SRC_DIR}/protocol/p2p/mapper.cpp + ${NEROSHOP_CORE_SRC_DIR}/protocol/p2p/key_mapper.cpp ${NEROSHOP_CORE_SRC_DIR}/protocol/p2p/node.cpp ${NEROSHOP_CORE_SRC_DIR}/protocol/p2p/routing_table.cpp ${NEROSHOP_CORE_SRC_DIR}/protocol/p2p/serializer.cpp @@ -480,7 +480,7 @@ endif() ###################################### # neroshop-daemon set(daemon_executable "neromon") -set(daemon_src ${neroshop_crypto_src} ${neroshop_database_src} ${neroshop_network_src} ${NEROSHOP_CORE_SRC_DIR}/protocol/messages/msgpack.cpp ${NEROSHOP_CORE_SRC_DIR}/protocol/p2p/mapper.cpp ${NEROSHOP_CORE_SRC_DIR}/protocol/p2p/node.cpp ${NEROSHOP_CORE_SRC_DIR}/protocol/p2p/routing_table.cpp ${NEROSHOP_CORE_SRC_DIR}/protocol/rpc/json_rpc.cpp ${NEROSHOP_CORE_SRC_DIR}/protocol/transport/client.cpp ${NEROSHOP_CORE_SRC_DIR}/protocol/transport/ip_address.cpp ${NEROSHOP_CORE_SRC_DIR}/protocol/transport/server.cpp ${NEROSHOP_CORE_SRC_DIR}/protocol/transport/zmq_client.cpp ${NEROSHOP_CORE_SRC_DIR}/protocol/transport/zmq_server.cpp ${NEROSHOP_CORE_SRC_DIR}/tools/base64.cpp ${NEROSHOP_CORE_SRC_DIR}/tools/logger.cpp ${NEROSHOP_CORE_SRC_DIR}/tools/timestamp.cpp) +set(daemon_src ${neroshop_crypto_src} ${neroshop_database_src} ${neroshop_network_src} ${NEROSHOP_CORE_SRC_DIR}/protocol/messages/msgpack.cpp ${NEROSHOP_CORE_SRC_DIR}/protocol/p2p/key_mapper.cpp ${NEROSHOP_CORE_SRC_DIR}/protocol/p2p/node.cpp ${NEROSHOP_CORE_SRC_DIR}/protocol/p2p/routing_table.cpp ${NEROSHOP_CORE_SRC_DIR}/protocol/rpc/json_rpc.cpp ${NEROSHOP_CORE_SRC_DIR}/protocol/transport/client.cpp ${NEROSHOP_CORE_SRC_DIR}/protocol/transport/ip_address.cpp ${NEROSHOP_CORE_SRC_DIR}/protocol/transport/server.cpp ${NEROSHOP_CORE_SRC_DIR}/protocol/transport/zmq_client.cpp ${NEROSHOP_CORE_SRC_DIR}/protocol/transport/zmq_server.cpp ${NEROSHOP_CORE_SRC_DIR}/tools/base64.cpp ${NEROSHOP_CORE_SRC_DIR}/tools/logger.cpp ${NEROSHOP_CORE_SRC_DIR}/tools/timestamp.cpp) add_executable(${daemon_executable} src/daemon/main.cpp ${daemon_src})#target_link_libraries(daemon ${curl_src} ${OPENSSL_LIBRARIES}) # curl requires both openssl(used in monero) and zlib(used in libi2pd) install(TARGETS ${daemon_executable} DESTINATION bin) target_compile_definitions(${daemon_executable} PRIVATE NEROSHOP_DEBUG) diff --git a/src/core/protocol/p2p/mapper.cpp b/src/core/protocol/p2p/key_mapper.cpp similarity index 95% rename from src/core/protocol/p2p/mapper.cpp rename to src/core/protocol/p2p/key_mapper.cpp index f95d313..2721b2c 100644 --- a/src/core/protocol/p2p/mapper.cpp +++ b/src/core/protocol/p2p/key_mapper.cpp @@ -1,4 +1,4 @@ -#include "mapper.hpp" +#include "key_mapper.hpp" #include @@ -10,7 +10,7 @@ namespace neroshop_string = neroshop::string; //----------------------------------------------------------------------------- -neroshop::Mapper::~Mapper() { +neroshop::KeyMapper::~KeyMapper() { product_ids.clear(); product_names.clear(); product_categories.clear(); @@ -29,7 +29,7 @@ neroshop::Mapper::~Mapper() { //----------------------------------------------------------------------------- -void neroshop::Mapper::add(const std::string& key, const std::string& value) { +void neroshop::KeyMapper::add(const std::string& key, const std::string& value) { nlohmann::json json; try { json = nlohmann::json::parse(value); @@ -160,7 +160,7 @@ void neroshop::Mapper::add(const std::string& key, const std::string& value) { sync(); // Sync to database } -void neroshop::Mapper::sync() { +void neroshop::KeyMapper::sync() { db::Sqlite3 * database = neroshop::get_database(); if(!database) throw std::runtime_error("database is NULL"); @@ -457,7 +457,7 @@ void neroshop::Mapper::sync() { //----------------------------------------------------------------------------- -std::pair neroshop::Mapper::serialize() { // no longer in use +std::pair neroshop::KeyMapper::serialize() { // no longer in use nlohmann::json data; //----------------------------------------------- // Add user_ids @@ -610,7 +610,7 @@ std::pair neroshop::Mapper::serialize() { // no longer //----------------------------------------------------------------------------- -std::vector neroshop::Mapper::search_product_by_name(const std::string& product_name) { +std::vector neroshop::KeyMapper::search_product_by_name(const std::string& product_name) { std::vector matching_keys; std::string product_name_lower = neroshop_string::lower(product_name); @@ -632,13 +632,13 @@ std::vector neroshop::Mapper::search_product_by_name(const std::str //----------------------------------------------------------------------------- /*int main() { - neroshop::Mapper::product_names.insert(std::make_pair("Apple", std::vector{"9341dd5ebbe0d457e1306bdb68f2cd13a0d3bac4e582012ae71c2bce47f8bb91"})); - neroshop::Mapper::product_names.insert(std::make_pair("Banana", std::vector{"8063ed324ad571c0278a1d5d11b5d620a41e605d389e2ad7f268c196f7411035"})); - neroshop::Mapper::product_names.emplace(std::make_pair("Cherry", std::vector{"f246efebbca8d633d2d9ce15ffd0ffeb6aabeddf19cdc060fe348c282e371b7a"})); - neroshop::Mapper::product_names.insert(std::make_pair("Watermelon", std::vector{"0fe3907f0c4012aa9967e2dac81ef31c008ebf2b58f36e107c0c9bd61ba9d53e"})); - //neroshop::Mapper::product_names.insert(std::make_pair("", std::vector{""})); - std::cout << "Number of products: " << neroshop::Mapper::product_names.size() << "\n"; - auto products = neroshop::Mapper::search_product_by_name("er");//("ana");//("app");//"ban"); + neroshop::KeyMapper::product_names.insert(std::make_pair("Apple", std::vector{"9341dd5ebbe0d457e1306bdb68f2cd13a0d3bac4e582012ae71c2bce47f8bb91"})); + neroshop::KeyMapper::product_names.insert(std::make_pair("Banana", std::vector{"8063ed324ad571c0278a1d5d11b5d620a41e605d389e2ad7f268c196f7411035"})); + neroshop::KeyMapper::product_names.emplace(std::make_pair("Cherry", std::vector{"f246efebbca8d633d2d9ce15ffd0ffeb6aabeddf19cdc060fe348c282e371b7a"})); + neroshop::KeyMapper::product_names.insert(std::make_pair("Watermelon", std::vector{"0fe3907f0c4012aa9967e2dac81ef31c008ebf2b58f36e107c0c9bd61ba9d53e"})); + //neroshop::KeyMapper::product_names.insert(std::make_pair("", std::vector{""})); + std::cout << "Number of products: " << neroshop::KeyMapper::product_names.size() << "\n"; + auto products = neroshop::KeyMapper::search_product_by_name("er");//("ana");//("app");//"ban"); for(const auto& name : products) { std::cout << name << "\n"; } diff --git a/src/core/protocol/p2p/mapper.hpp b/src/core/protocol/p2p/key_mapper.hpp similarity index 95% rename from src/core/protocol/p2p/mapper.hpp rename to src/core/protocol/p2p/key_mapper.hpp index 88f88df..257205c 100644 --- a/src/core/protocol/p2p/mapper.hpp +++ b/src/core/protocol/p2p/key_mapper.hpp @@ -8,9 +8,9 @@ namespace neroshop { -struct Mapper { // maps search terms to DHT keys - Mapper() = default; - ~Mapper(); +struct KeyMapper { // maps search terms to DHT keys + KeyMapper() = default; + ~KeyMapper(); std::unordered_map> product_ids; std::unordered_map> product_names; // maps a product name to a list of corresponding listing keys diff --git a/src/core/protocol/p2p/node.cpp b/src/core/protocol/p2p/node.cpp index 4b78118..2ac877c 100644 --- a/src/core/protocol/p2p/node.cpp +++ b/src/core/protocol/p2p/node.cpp @@ -8,7 +8,7 @@ #include "../messages/msgpack.hpp" #include "../../version.hpp" #include "../../tools/base64.hpp" -#include "mapper.hpp" +#include "key_mapper.hpp" #include "../../tools/string.hpp" #include "../../tools/timestamp.hpp" #include "../../database/database.hpp" @@ -162,7 +162,7 @@ neroshop::Node::Node(const std::string& address, int port, bool local) : sockfd( // Initialize key mapper if(!key_mapper.get()) { - key_mapper = std::make_unique(); + key_mapper = std::make_unique(); } } diff --git a/src/core/protocol/p2p/node.hpp b/src/core/protocol/p2p/node.hpp index ae51f74..2edad48 100644 --- a/src/core/protocol/p2p/node.hpp +++ b/src/core/protocol/p2p/node.hpp @@ -15,7 +15,7 @@ const int NUM_BITS = 256; namespace neroshop { class RoutingTable; // forward declaration -class Mapper; +class KeyMapper; struct Peer { std::string address; @@ -44,7 +44,7 @@ private: // Declare a mutex to protect access to the routing table std::shared_mutex node_read_mutex; // Shared mutex for routing table access std::shared_mutex node_write_mutex; // Shared mutex for routing table access - std::unique_ptr key_mapper; + std::unique_ptr key_mapper; // Generates a node id from address and port combination std::string generate_node_id(const std::string& address, int port); // Determines if node1 is closer to the target_id than node2 diff --git a/src/neroshop.hpp b/src/neroshop.hpp index 19c0e20..ed5eef0 100644 --- a/src/neroshop.hpp +++ b/src/neroshop.hpp @@ -33,7 +33,7 @@ // protocol #include "core/protocol/messages/msgpack.hpp" #include "core/protocol/p2p/kademlia.hpp" -#include "core/protocol/p2p/mapper.hpp" +#include "core/protocol/p2p/key_mapper.hpp" #include "core/protocol/p2p/node.hpp" #include "core/protocol/p2p/routing_table.hpp" #include "core/protocol/p2p/serializer.hpp"