rename mapper to key_mapper

pull/261/head
larteyoh 2 weeks ago
parent e08747de21
commit 86fef08650

@ -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)

@ -1,4 +1,4 @@
#include "mapper.hpp"
#include "key_mapper.hpp"
#include <nlohmann/json.hpp>
@ -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<std::string, std::string> neroshop::Mapper::serialize() { // no longer in use
std::pair<std::string, std::string> neroshop::KeyMapper::serialize() { // no longer in use
nlohmann::json data;
//-----------------------------------------------
// Add user_ids
@ -610,7 +610,7 @@ std::pair<std::string, std::string> neroshop::Mapper::serialize() { // no longer
//-----------------------------------------------------------------------------
std::vector<std::string> neroshop::Mapper::search_product_by_name(const std::string& product_name) {
std::vector<std::string> neroshop::KeyMapper::search_product_by_name(const std::string& product_name) {
std::vector<std::string> matching_keys;
std::string product_name_lower = neroshop_string::lower(product_name);
@ -632,13 +632,13 @@ std::vector<std::string> neroshop::Mapper::search_product_by_name(const std::str
//-----------------------------------------------------------------------------
/*int main() {
neroshop::Mapper::product_names.insert(std::make_pair("Apple", std::vector<std::string>{"9341dd5ebbe0d457e1306bdb68f2cd13a0d3bac4e582012ae71c2bce47f8bb91"}));
neroshop::Mapper::product_names.insert(std::make_pair("Banana", std::vector<std::string>{"8063ed324ad571c0278a1d5d11b5d620a41e605d389e2ad7f268c196f7411035"}));
neroshop::Mapper::product_names.emplace(std::make_pair("Cherry", std::vector<std::string>{"f246efebbca8d633d2d9ce15ffd0ffeb6aabeddf19cdc060fe348c282e371b7a"}));
neroshop::Mapper::product_names.insert(std::make_pair("Watermelon", std::vector<std::string>{"0fe3907f0c4012aa9967e2dac81ef31c008ebf2b58f36e107c0c9bd61ba9d53e"}));
//neroshop::Mapper::product_names.insert(std::make_pair("", std::vector<std::string>{""}));
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<std::string>{"9341dd5ebbe0d457e1306bdb68f2cd13a0d3bac4e582012ae71c2bce47f8bb91"}));
neroshop::KeyMapper::product_names.insert(std::make_pair("Banana", std::vector<std::string>{"8063ed324ad571c0278a1d5d11b5d620a41e605d389e2ad7f268c196f7411035"}));
neroshop::KeyMapper::product_names.emplace(std::make_pair("Cherry", std::vector<std::string>{"f246efebbca8d633d2d9ce15ffd0ffeb6aabeddf19cdc060fe348c282e371b7a"}));
neroshop::KeyMapper::product_names.insert(std::make_pair("Watermelon", std::vector<std::string>{"0fe3907f0c4012aa9967e2dac81ef31c008ebf2b58f36e107c0c9bd61ba9d53e"}));
//neroshop::KeyMapper::product_names.insert(std::make_pair("", std::vector<std::string>{""}));
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";
}

@ -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<std::string, std::vector<std::string>> product_ids;
std::unordered_map<std::string, std::vector<std::string>> product_names; // maps a product name to a list of corresponding listing keys

@ -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<Mapper>();
key_mapper = std::make_unique<KeyMapper>();
}
}

@ -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<Mapper> key_mapper;
std::unique_ptr<KeyMapper> 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

@ -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"

Loading…
Cancel
Save