summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchenzizhan <[email protected]>2023-05-22 18:14:47 +0800
committerchenzizhan <[email protected]>2023-05-22 18:14:47 +0800
commitbae6220f36baae696b2c7abb8bda8c17d71b32d9 (patch)
tree3dcc143ae54f1a72e082bf4cf5965b5fe8164b9f
parent0cc08462075f1d4c16ed41614bfc886f67aba035 (diff)
make topk compliabledev-hk-crdt-czz
-rw-r--r--CRDT/CMakeLists.txt2
-rw-r--r--CRDT/heavy_keeper.h1
-rw-r--r--src/CMakeLists.txt3
-rw-r--r--src/inc_internal/t_topk.h2
-rw-r--r--src/swarmkv.c1
-rw-r--r--src/t_topk.c1
6 files changed, 8 insertions, 2 deletions
diff --git a/CRDT/CMakeLists.txt b/CRDT/CMakeLists.txt
index d750bf5..a306460 100644
--- a/CRDT/CMakeLists.txt
+++ b/CRDT/CMakeLists.txt
@@ -3,7 +3,7 @@ add_definitions(-fPIC)
add_library(CRDT lww_register.c pn_counter.c or_map.c or_set.c cm_sketch.c st_hyperloglog.c
g_array.c token_bucket_common.c oc_token_bucket.c fair_token_bucket.c bulk_token_bucket.c
- heavy_keeper.c sorted_set.c)
+ heavy_keeper.c sorted_set.c ${PROJECT_SOURCE_DIR}/deps/minheap/heap.c)
include_directories(${PROJECT_SOURCE_DIR}/deps/mpack
${PROJECT_SOURCE_DIR}/deps/uthash
diff --git a/CRDT/heavy_keeper.h b/CRDT/heavy_keeper.h
index c3e53c2..2a12c7e 100644
--- a/CRDT/heavy_keeper.h
+++ b/CRDT/heavy_keeper.h
@@ -5,6 +5,7 @@ extern "C"{
#endif
#include <stddef.h>
+#include <uuid/uuid.h>
/* ---------------------------------------------------------------------------------------
TOP K using heavykeeper algorithm.
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 4424204..9451a7e 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -8,7 +8,7 @@ message(STATUS "SwarmKV, Version: ${SWARMKV_VERSION}")
add_definitions(-D_GNU_SOURCE)
add_definitions(-fPIC)
set(SWARMKV_SRC swarmkv.c swarmkv_store.c swarmkv_sync.c swarmkv_api.c
- t_string.c t_set.c t_token_bucket.c t_hash.c
+ t_string.c t_set.c t_token_bucket.c t_hash.c t_topk.c
swarmkv_common.c swarmkv_message.c swarmkv_net.c swarmkv_keyspace.c swarmkv_utils.c
swarmkv_monitor.c future_promise.cpp)
@@ -18,6 +18,7 @@ set(LIB_SOURCE_FILES
${PROJECT_SOURCE_DIR}/deps/cJSON/cJSON.c
${PROJECT_SOURCE_DIR}/deps/base64/base64.c
${PROJECT_SOURCE_DIR}/deps/xxhash/xxhash.c
+ ${PROJECT_SOURCE_DIR}/deps/minheap/heap.c
${PROJECT_SOURCE_DIR}/deps/timeout/timeout.c
${PROJECT_SOURCE_DIR}/deps/log/log.c)
diff --git a/src/inc_internal/t_topk.h b/src/inc_internal/t_topk.h
index 9e0c371..95af9cd 100644
--- a/src/inc_internal/t_topk.h
+++ b/src/inc_internal/t_topk.h
@@ -1,4 +1,6 @@
+#pragma once
#include "swarmkv_common.h"
+#include "swarmkv_cmd_spec.h"
// TOPKREV key K [width] [depth] [decay rate]
enum cmd_exec_result topkrev_command(struct swarmkv_module *mod_store, const struct swarmkv_cmd *cmd, const node_t *accessing_node, struct swarmkv_reply **reply);
diff --git a/src/swarmkv.c b/src/swarmkv.c
index a3f8ff6..6b31b7e 100644
--- a/src/swarmkv.c
+++ b/src/swarmkv.c
@@ -16,6 +16,7 @@
#include "t_set.h"
#include "t_token_bucket.h"
#include "t_hash.h"
+#include "t_topk.h"
#include "swarmkv_message.h"
#include "swarmkv_net.h"
diff --git a/src/t_topk.c b/src/t_topk.c
index 558d22b..1d22278 100644
--- a/src/t_topk.c
+++ b/src/t_topk.c
@@ -182,4 +182,5 @@ enum cmd_exec_result topklist_command(struct swarmkv_module *mod_store, const st
enum cmd_exec_result topkquery_command(struct swarmkv_module *mod_store, const struct swarmkv_cmd *cmd, const node_t *accessing_node, struct swarmkv_reply **reply)
{
// TODO
+ return FINISHED;
} \ No newline at end of file