Remove serialization from utils
Reviewers: teon.banek Reviewed By: teon.banek Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D1852
This commit is contained in:
parent
68c910a083
commit
bb052be002
@ -10,6 +10,7 @@ add_subdirectory(telemetry)
|
|||||||
add_subdirectory(communication)
|
add_subdirectory(communication)
|
||||||
add_subdirectory(stats)
|
add_subdirectory(stats)
|
||||||
add_subdirectory(auth)
|
add_subdirectory(auth)
|
||||||
|
add_subdirectory(rpc)
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
# Memgraph Single Node
|
# Memgraph Single Node
|
||||||
@ -236,7 +237,7 @@ add_custom_target(generate_capnp DEPENDS generate_lcp_distributed ${generated_ca
|
|||||||
set(MG_DISTRIBUTED_LIBS stdc++fs Threads::Threads fmt cppitertools
|
set(MG_DISTRIBUTED_LIBS stdc++fs Threads::Threads fmt cppitertools
|
||||||
antlr_opencypher_parser_lib dl glog gflags capnp kj
|
antlr_opencypher_parser_lib dl glog gflags capnp kj
|
||||||
mg-utils mg-io mg-io-serialization mg-integrations-kafka mg-requests
|
mg-utils mg-io mg-io-serialization mg-integrations-kafka mg-requests
|
||||||
mg-communication mg-comm-rpc mg-auth)
|
mg-communication mg-comm-rpc mg-auth mg-rpc)
|
||||||
|
|
||||||
# STATIC library used by memgraph executables
|
# STATIC library used by memgraph executables
|
||||||
add_library(mg-distributed STATIC ${mg_distributed_sources})
|
add_library(mg-distributed STATIC ${mg_distributed_sources})
|
||||||
@ -325,7 +326,7 @@ add_custom_target(generate_capnp_single_node_ha DEPENDS generate_lcp_single_node
|
|||||||
set(MG_SINGLE_NODE_HA_LIBS stdc++fs Threads::Threads fmt cppitertools
|
set(MG_SINGLE_NODE_HA_LIBS stdc++fs Threads::Threads fmt cppitertools
|
||||||
antlr_opencypher_parser_lib dl glog gflags capnp kj
|
antlr_opencypher_parser_lib dl glog gflags capnp kj
|
||||||
mg-utils mg-io mg-integrations-kafka mg-requests mg-communication mg-comm-rpc
|
mg-utils mg-io mg-integrations-kafka mg-requests mg-communication mg-comm-rpc
|
||||||
mg-auth)
|
mg-auth mg-rpc)
|
||||||
|
|
||||||
if (USE_LTALLOC)
|
if (USE_LTALLOC)
|
||||||
list(APPEND MG_SINGLE_NODE_HA_LIBS ltalloc)
|
list(APPEND MG_SINGLE_NODE_HA_LIBS ltalloc)
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
#include "query/serialization.hpp"
|
#include "query/serialization.hpp"
|
||||||
#include "storage/distributed/rpc/serialization.hpp"
|
#include "storage/distributed/rpc/serialization.hpp"
|
||||||
#include "transactions/type.hpp"
|
#include "transactions/type.hpp"
|
||||||
#include "utils/serialization.hpp"
|
#include "rpc/serialization.hpp"
|
||||||
cpp<#
|
cpp<#
|
||||||
|
|
||||||
(lcp:namespace distributed)
|
(lcp:namespace distributed)
|
||||||
@ -22,7 +22,7 @@ cpp<#
|
|||||||
(lcp:capnp-import 'dist-ops "/query/plan/distributed_ops.capnp")
|
(lcp:capnp-import 'dist-ops "/query/plan/distributed_ops.capnp")
|
||||||
(lcp:capnp-import 'query "/query/serialization.capnp")
|
(lcp:capnp-import 'query "/query/serialization.capnp")
|
||||||
(lcp:capnp-import 'storage "/storage/distributed/rpc/serialization.capnp")
|
(lcp:capnp-import 'storage "/storage/distributed/rpc/serialization.capnp")
|
||||||
(lcp:capnp-import 'utils "/utils/serialization.capnp")
|
(lcp:capnp-import 'utils "/rpc/serialization.capnp")
|
||||||
|
|
||||||
(lcp:capnp-type-conversion "storage::EdgeAddress" "Storage.Address")
|
(lcp:capnp-type-conversion "storage::EdgeAddress" "Storage.Address")
|
||||||
(lcp:capnp-type-conversion "storage::VertexAddress" "Storage.Address")
|
(lcp:capnp-type-conversion "storage::VertexAddress" "Storage.Address")
|
||||||
|
@ -18,7 +18,7 @@ cpp<#
|
|||||||
|
|
||||||
(lcp:capnp-import 'dur "/durability/distributed/serialization.capnp")
|
(lcp:capnp-import 'dur "/durability/distributed/serialization.capnp")
|
||||||
(lcp:capnp-import 'io "/io/network/endpoint.capnp")
|
(lcp:capnp-import 'io "/io/network/endpoint.capnp")
|
||||||
(lcp:capnp-import 'utils "/utils/serialization.capnp")
|
(lcp:capnp-import 'utils "/rpc/serialization.capnp")
|
||||||
|
|
||||||
(lcp:define-rpc register-worker
|
(lcp:define-rpc register-worker
|
||||||
(:request
|
(:request
|
||||||
|
@ -17,7 +17,7 @@ cpp<#
|
|||||||
|
|
||||||
(lcp:capnp-namespace "distributed")
|
(lcp:capnp-namespace "distributed")
|
||||||
|
|
||||||
(lcp:capnp-import 'utils "/utils/serialization.capnp")
|
(lcp:capnp-import 'utils "/rpc/serialization.capnp")
|
||||||
(lcp:capnp-import 'storage "/storage/distributed/rpc/serialization.capnp")
|
(lcp:capnp-import 'storage "/storage/distributed/rpc/serialization.capnp")
|
||||||
|
|
||||||
(lcp:define-struct tx-gid-pair ()
|
(lcp:define-struct tx-gid-pair ()
|
||||||
|
@ -12,7 +12,7 @@ cpp<#
|
|||||||
|
|
||||||
(lcp:capnp-namespace "distributed")
|
(lcp:capnp-namespace "distributed")
|
||||||
|
|
||||||
(lcp:capnp-import 'utils "/utils/serialization.capnp")
|
(lcp:capnp-import 'utils "/rpc/serialization.capnp")
|
||||||
|
|
||||||
(lcp:define-rpc dynamic-worker
|
(lcp:define-rpc dynamic-worker
|
||||||
(:request ())
|
(:request ())
|
||||||
|
@ -13,7 +13,7 @@ cpp<#
|
|||||||
|
|
||||||
(lcp:capnp-namespace "distributed")
|
(lcp:capnp-namespace "distributed")
|
||||||
|
|
||||||
(lcp:capnp-import 'utils "/utils/serialization.capnp")
|
(lcp:capnp-import 'utils "/rpc/serialization.capnp")
|
||||||
(lcp:capnp-import 'plan "/query/plan/distributed_ops.capnp")
|
(lcp:capnp-import 'plan "/query/plan/distributed_ops.capnp")
|
||||||
(lcp:capnp-import 'query "/query/serialization.capnp")
|
(lcp:capnp-import 'query "/query/serialization.capnp")
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
#include "query/serialization.hpp"
|
#include "query/serialization.hpp"
|
||||||
#include "storage/distributed/address_types.hpp"
|
#include "storage/distributed/address_types.hpp"
|
||||||
#include "transactions/type.hpp"
|
#include "transactions/type.hpp"
|
||||||
#include "utils/serialization.hpp"
|
#include "rpc/serialization.hpp"
|
||||||
cpp<#
|
cpp<#
|
||||||
|
|
||||||
(lcp:in-impl
|
(lcp:in-impl
|
||||||
@ -32,7 +32,7 @@ cpp<#
|
|||||||
(lcp:capnp-import 'storage "/storage/distributed/rpc/serialization.capnp")
|
(lcp:capnp-import 'storage "/storage/distributed/rpc/serialization.capnp")
|
||||||
(lcp:capnp-import 'query "/query/serialization.capnp")
|
(lcp:capnp-import 'query "/query/serialization.capnp")
|
||||||
(lcp:capnp-import 'sem "/query/frontend/semantic/symbol_serialization.capnp")
|
(lcp:capnp-import 'sem "/query/frontend/semantic/symbol_serialization.capnp")
|
||||||
(lcp:capnp-import 'utils "/utils/serialization.capnp")
|
(lcp:capnp-import 'utils "/rpc/serialization.capnp")
|
||||||
|
|
||||||
(lcp:capnp-type-conversion "tx::CommandId" "UInt32")
|
(lcp:capnp-type-conversion "tx::CommandId" "UInt32")
|
||||||
(lcp:capnp-type-conversion "tx::TransactionId" "UInt64")
|
(lcp:capnp-type-conversion "tx::TransactionId" "UInt64")
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
#include "storage/distributed/gid.hpp"
|
#include "storage/distributed/gid.hpp"
|
||||||
#include "storage/distributed/rpc/serialization.hpp"
|
#include "storage/distributed/rpc/serialization.hpp"
|
||||||
#include "transactions/type.hpp"
|
#include "transactions/type.hpp"
|
||||||
#include "utils/serialization.hpp"
|
#include "rpc/serialization.hpp"
|
||||||
cpp<#
|
cpp<#
|
||||||
|
|
||||||
(lcp:namespace distributed)
|
(lcp:namespace distributed)
|
||||||
@ -20,7 +20,7 @@ cpp<#
|
|||||||
|
|
||||||
(lcp:capnp-import 'db "/database/distributed/serialization.capnp")
|
(lcp:capnp-import 'db "/database/distributed/serialization.capnp")
|
||||||
(lcp:capnp-import 'storage "/storage/distributed/rpc/serialization.capnp")
|
(lcp:capnp-import 'storage "/storage/distributed/rpc/serialization.capnp")
|
||||||
(lcp:capnp-import 'utils "/utils/serialization.capnp")
|
(lcp:capnp-import 'utils "/rpc/serialization.capnp")
|
||||||
|
|
||||||
(lcp:capnp-type-conversion "tx::TransactionId" "UInt64")
|
(lcp:capnp-type-conversion "tx::TransactionId" "UInt64")
|
||||||
(lcp:capnp-type-conversion "gid::Gid" "UInt64")
|
(lcp:capnp-type-conversion "gid::Gid" "UInt64")
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
@0xb3d70bc0576218f3;
|
@0xb3d70bc0576218f3;
|
||||||
|
|
||||||
using Cxx = import "/capnp/c++.capnp";
|
using Cxx = import "/capnp/c++.capnp";
|
||||||
using Utils = import "/utils/serialization.capnp";
|
using Utils = import "/rpc/serialization.capnp";
|
||||||
|
|
||||||
$Cxx.namespace("durability::capnp");
|
$Cxx.namespace("durability::capnp");
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#include "communication/rpc/serialization.hpp"
|
#include "communication/rpc/serialization.hpp"
|
||||||
#include "durability/distributed/recovery.hpp"
|
#include "durability/distributed/recovery.hpp"
|
||||||
#include "durability/distributed/serialization.capnp.h"
|
#include "durability/distributed/serialization.capnp.h"
|
||||||
#include "utils/serialization.hpp"
|
#include "rpc/serialization.hpp"
|
||||||
|
|
||||||
namespace durability {
|
namespace durability {
|
||||||
|
|
||||||
|
@ -246,7 +246,7 @@ which generate the corresponding C++ keywords."
|
|||||||
;;; 2) C++ class members are converted to camelCased members of Capnp struct.
|
;;; 2) C++ class members are converted to camelCased members of Capnp struct.
|
||||||
;;; a) Primitive C++ types are mapped to primitive Capnp types.
|
;;; a) Primitive C++ types are mapped to primitive Capnp types.
|
||||||
;;; b) C++ std types are converted to our Capnp wrappers found in
|
;;; b) C++ std types are converted to our Capnp wrappers found in
|
||||||
;;; utils/serialization.capnp. This process is hardcoded.
|
;;; rpc/serialization.capnp. This process is hardcoded.
|
||||||
;;; c) For other composite types, we assume that a Capnp struct exists
|
;;; c) For other composite types, we assume that a Capnp struct exists
|
||||||
;;; with the same PascalCase name as the *top-most* base class.
|
;;; with the same PascalCase name as the *top-most* base class.
|
||||||
;;; d) The user may provide a :CAPNP-TYPE string, which overrides our
|
;;; d) The user may provide a :CAPNP-TYPE string, which overrides our
|
||||||
@ -1431,7 +1431,7 @@ code generation."
|
|||||||
(when schema (write-line schema out))))))
|
(when schema (write-line schema out))))))
|
||||||
;; Now generate the save/load C++ code in the cpp file.
|
;; Now generate the save/load C++ code in the cpp file.
|
||||||
(write-line "// Autogenerated Cap'n Proto serialization code" cpp-out)
|
(write-line "// Autogenerated Cap'n Proto serialization code" cpp-out)
|
||||||
(write-line "#include \"utils/serialization.hpp\"" cpp-out)
|
(write-line "#include \"rpc/serialization.hpp\"" cpp-out)
|
||||||
(with-namespaced-output (cpp-out open-namespace)
|
(with-namespaced-output (cpp-out open-namespace)
|
||||||
(dolist (cpp-type cpp-types)
|
(dolist (cpp-type cpp-types)
|
||||||
(open-namespace (cpp-type-namespace cpp-type))
|
(open-namespace (cpp-type-namespace cpp-type))
|
||||||
|
@ -8,7 +8,6 @@
|
|||||||
#include "glog/logging.h"
|
#include "glog/logging.h"
|
||||||
|
|
||||||
#include "query/exceptions.hpp"
|
#include "query/exceptions.hpp"
|
||||||
#include "utils/serialization.hpp"
|
|
||||||
#include "utils/string.hpp"
|
#include "utils/string.hpp"
|
||||||
|
|
||||||
namespace query {
|
namespace query {
|
||||||
|
@ -23,7 +23,7 @@ cpp<#
|
|||||||
|
|
||||||
(lcp:capnp-import 'storage "/storage/distributed/rpc/serialization.capnp")
|
(lcp:capnp-import 'storage "/storage/distributed/rpc/serialization.capnp")
|
||||||
(lcp:capnp-import 'symbol "/query/frontend/semantic/symbol_serialization.capnp")
|
(lcp:capnp-import 'symbol "/query/frontend/semantic/symbol_serialization.capnp")
|
||||||
(lcp:capnp-import 'utils "/utils/serialization.capnp")
|
(lcp:capnp-import 'utils "/rpc/serialization.capnp")
|
||||||
|
|
||||||
(lcp:capnp-type-conversion "PropertyValue" "Storage.PropertyValue")
|
(lcp:capnp-type-conversion "PropertyValue" "Storage.PropertyValue")
|
||||||
(lcp:capnp-type-conversion "Symbol" "Symbol.Symbol")
|
(lcp:capnp-type-conversion "Symbol" "Symbol.Symbol")
|
||||||
|
@ -123,7 +123,7 @@ cpp<#
|
|||||||
|
|
||||||
(lcp:capnp-namespace "query::plan")
|
(lcp:capnp-namespace "query::plan")
|
||||||
|
|
||||||
(lcp:capnp-import 'utils "/utils/serialization.capnp")
|
(lcp:capnp-import 'utils "/rpc/serialization.capnp")
|
||||||
(lcp:capnp-import 'storage "/storage/distributed/rpc/serialization.capnp")
|
(lcp:capnp-import 'storage "/storage/distributed/rpc/serialization.capnp")
|
||||||
(lcp:capnp-import 'ast "/query/frontend/ast/ast_serialization.capnp")
|
(lcp:capnp-import 'ast "/query/frontend/ast/ast_serialization.capnp")
|
||||||
(lcp:capnp-import 'semantic "/query/frontend/semantic/symbol_serialization.capnp")
|
(lcp:capnp-import 'semantic "/query/frontend/semantic/symbol_serialization.capnp")
|
||||||
|
@ -4,7 +4,7 @@ using Ast = import "/query/frontend/ast/ast_serialization.capnp";
|
|||||||
using Cxx = import "/capnp/c++.capnp";
|
using Cxx = import "/capnp/c++.capnp";
|
||||||
using Sem = import "/query/frontend/semantic/symbol_serialization.capnp";
|
using Sem = import "/query/frontend/semantic/symbol_serialization.capnp";
|
||||||
using Storage = import "/storage/distributed/rpc/serialization.capnp";
|
using Storage = import "/storage/distributed/rpc/serialization.capnp";
|
||||||
using Utils = import "/utils/serialization.capnp";
|
using Utils = import "/rpc/serialization.capnp";
|
||||||
|
|
||||||
$Cxx.namespace("query::capnp");
|
$Cxx.namespace("query::capnp");
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
#include "distributed/data_manager.hpp"
|
#include "distributed/data_manager.hpp"
|
||||||
#include "query/frontend/ast/ast_serialization.hpp"
|
#include "query/frontend/ast/ast_serialization.hpp"
|
||||||
#include "utils/serialization.hpp"
|
#include "rpc/serialization.hpp"
|
||||||
|
|
||||||
namespace query {
|
namespace query {
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
#include "query/serialization.capnp.h"
|
#include "query/serialization.capnp.h"
|
||||||
#include "query/typed_value.hpp"
|
#include "query/typed_value.hpp"
|
||||||
#include "storage/distributed/rpc/serialization.hpp"
|
#include "storage/distributed/rpc/serialization.hpp"
|
||||||
#include "utils/serialization.hpp"
|
#include "rpc/serialization.hpp"
|
||||||
|
|
||||||
namespace distributed {
|
namespace distributed {
|
||||||
class DataManager;
|
class DataManager;
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
#include "raft/exceptions.hpp"
|
#include "raft/exceptions.hpp"
|
||||||
#include "utils/exceptions.hpp"
|
#include "utils/exceptions.hpp"
|
||||||
#include "utils/on_scope_exit.hpp"
|
#include "utils/on_scope_exit.hpp"
|
||||||
#include "utils/serialization.hpp"
|
#include "rpc/serialization.hpp"
|
||||||
#include "utils/thread.hpp"
|
#include "utils/thread.hpp"
|
||||||
|
|
||||||
namespace raft {
|
namespace raft {
|
||||||
|
9
src/rpc/CMakeLists.txt
Normal file
9
src/rpc/CMakeLists.txt
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
define_add_capnp(add_capnp rpc_src_files rpc_capnp_files)
|
||||||
|
|
||||||
|
add_capnp(serialization.capnp)
|
||||||
|
|
||||||
|
add_custom_target(generate_rpc_capnp DEPENDS ${rpc_capnp_files})
|
||||||
|
|
||||||
|
add_library(mg-rpc STATIC ${rpc_src_files})
|
||||||
|
target_link_libraries(mg-rpc glog gflags capnp kj)
|
||||||
|
add_dependencies(mg-rpc generate_rpc_capnp)
|
@ -7,7 +7,7 @@
|
|||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
|
|
||||||
#include "utils/algorithm.hpp"
|
#include "utils/algorithm.hpp"
|
||||||
#include "utils/serialization.capnp.h"
|
#include "rpc/serialization.capnp.h"
|
||||||
|
|
||||||
namespace utils {
|
namespace utils {
|
||||||
|
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include "communication/rpc/messages.hpp"
|
#include "communication/rpc/messages.hpp"
|
||||||
#include "stats/stats_rpc_messages.capnp.h"
|
#include "stats/stats_rpc_messages.capnp.h"
|
||||||
#include "utils/serialization.hpp"
|
#include "rpc/serialization.hpp"
|
||||||
#include "utils/timestamp.hpp"
|
#include "utils/timestamp.hpp"
|
||||||
cpp<#
|
cpp<#
|
||||||
|
|
||||||
@ -11,7 +11,7 @@ cpp<#
|
|||||||
|
|
||||||
(lcp:capnp-namespace "stats")
|
(lcp:capnp-namespace "stats")
|
||||||
|
|
||||||
(lcp:capnp-import 'utils "/utils/serialization.capnp")
|
(lcp:capnp-import 'utils "/rpc/serialization.capnp")
|
||||||
|
|
||||||
(lcp:define-rpc stats
|
(lcp:define-rpc stats
|
||||||
(:request
|
(:request
|
||||||
|
@ -7,13 +7,5 @@ set(utils_src_files
|
|||||||
uuid.cpp
|
uuid.cpp
|
||||||
watchdog.cpp)
|
watchdog.cpp)
|
||||||
|
|
||||||
define_add_capnp(add_capnp utils_src_files utils_capnp_files)
|
|
||||||
|
|
||||||
add_capnp(serialization.capnp)
|
|
||||||
|
|
||||||
add_custom_target(generate_utils_capnp DEPENDS ${utils_capnp_files})
|
|
||||||
|
|
||||||
add_library(mg-utils STATIC ${utils_src_files})
|
add_library(mg-utils STATIC ${utils_src_files})
|
||||||
target_link_libraries(mg-utils stdc++fs Threads::Threads fmt glog gflags uuid)
|
target_link_libraries(mg-utils stdc++fs Threads::Threads fmt glog gflags uuid)
|
||||||
target_link_libraries(mg-utils capnp kj)
|
|
||||||
add_dependencies(mg-utils generate_utils_capnp)
|
|
||||||
|
@ -219,7 +219,7 @@ add_unit_test(record_edge_vertex_accessor.cpp)
|
|||||||
target_link_libraries(${test_prefix}record_edge_vertex_accessor mg-single-node kvstore_dummy_lib)
|
target_link_libraries(${test_prefix}record_edge_vertex_accessor mg-single-node kvstore_dummy_lib)
|
||||||
|
|
||||||
add_unit_test(serialization.cpp)
|
add_unit_test(serialization.cpp)
|
||||||
target_link_libraries(${test_prefix}serialization mg-distributed kvstore_dummy_lib)
|
target_link_libraries(${test_prefix}serialization mg-rpc)
|
||||||
|
|
||||||
add_unit_test(skip_list.cpp)
|
add_unit_test(skip_list.cpp)
|
||||||
target_link_libraries(${test_prefix}skip_list mg-utils)
|
target_link_libraries(${test_prefix}skip_list mg-utils)
|
||||||
|
@ -16,8 +16,6 @@
|
|||||||
#include "query/plan/operator.hpp"
|
#include "query/plan/operator.hpp"
|
||||||
#include "query/plan/planner.hpp"
|
#include "query/plan/planner.hpp"
|
||||||
|
|
||||||
#include <capnp/message.h>
|
|
||||||
|
|
||||||
#include "query_common.hpp"
|
#include "query_common.hpp"
|
||||||
|
|
||||||
namespace query {
|
namespace query {
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#include "gtest/gtest.h"
|
#include "gtest/gtest.h"
|
||||||
|
|
||||||
#include "capnp/message.h"
|
#include "capnp/message.h"
|
||||||
#include "utils/serialization.hpp"
|
#include "rpc/serialization.hpp"
|
||||||
|
|
||||||
using std::experimental::optional;
|
using std::experimental::optional;
|
||||||
using std::string_literals::operator""s;
|
using std::string_literals::operator""s;
|
||||||
|
Loading…
Reference in New Issue
Block a user