-
Notifications
You must be signed in to change notification settings - Fork 54
Expand file tree
/
Copy pathevent_publishers_config.cc
More file actions
44 lines (36 loc) · 1.92 KB
/
Copy pathevent_publishers_config.cc
File metadata and controls
44 lines (36 loc) · 1.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "kv_cache_manager/event/event_publishers_config.h"
namespace kv_cache_manager {
bool LogEventPublisherConfig::FromRapidValue(const rapidjson::Value &rapid_value) {
KVCM_JSON_GET_DEFAULT_MACRO(rapid_value, "enable", enable_, true);
KVCM_JSON_GET_DEFAULT_MACRO(rapid_value, "queue_size", queue_size_, std::size_t(10000));
return queue_size_ > 0;
}
void LogEventPublisherConfig::ToRapidWriter(rapidjson::Writer<rapidjson::StringBuffer> &writer) const noexcept {
Put(writer, "enable", enable_);
Put(writer, "queue_size", queue_size_);
}
bool OptimizerEventPublisherConfig::FromRapidValue(const rapidjson::Value &rapid_value) {
KVCM_JSON_GET_DEFAULT_MACRO(rapid_value, "enable", enable_, false);
KVCM_JSON_GET_DEFAULT_MACRO(rapid_value, "queue_size", queue_size_, std::size_t(100000));
KVCM_JSON_GET_DEFAULT_MACRO(rapid_value, "max_subscribers", max_subscribers_, std::size_t(4));
KVCM_JSON_GET_DEFAULT_MACRO(rapid_value, "subscriber_queue_size", subscriber_queue_size_, std::size_t(10000));
return queue_size_ > 0 && max_subscribers_ > 0 && subscriber_queue_size_ > 0;
}
void OptimizerEventPublisherConfig::ToRapidWriter(rapidjson::Writer<rapidjson::StringBuffer> &writer) const noexcept {
Put(writer, "enable", enable_);
Put(writer, "queue_size", queue_size_);
Put(writer, "max_subscribers", max_subscribers_);
Put(writer, "subscriber_queue_size", subscriber_queue_size_);
}
bool EventPublishersConfig::FromRapidValue(const rapidjson::Value &rapid_value) {
log_ = LogEventPublisherConfig{};
optimizer_ = OptimizerEventPublisherConfig{};
KVCM_JSON_GET_MACRO(rapid_value, "log", log_);
KVCM_JSON_GET_MACRO(rapid_value, "optimizer", optimizer_);
return true;
}
void EventPublishersConfig::ToRapidWriter(rapidjson::Writer<rapidjson::StringBuffer> &writer) const noexcept {
Put(writer, "log", log_);
Put(writer, "optimizer", optimizer_);
}
} // namespace kv_cache_manager