SWC-DB  v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
Settings.h
Go to the documentation of this file.
1 /*
2  * SWC-DB© Copyright since 2019 Alex Kashirin <kashirin.alex@gmail.com>
3  * License details at <https://github.com/kashirin-alex/swc-db/#license>
4  */
5 
6 #ifndef swcdb_broker_Settings_h
7 #define swcdb_broker_Settings_h
8 
11 
12 #include "swcdb/fs/Settings.h"
14 #include "swcdb/db/Types/Encoder.h"
15 
16 
17 namespace SWC { namespace Config {
18 
19 
20 void init_app_options(Settings* settings) {
21  init_comm_options(settings);
22  init_client_options(settings);
23 
24  settings->file_desc.add_options()
25  ("swc.bkr.cfg", str(), "Specific cfg-file for Broker")
26  ("swc.bkr.cfg.dyn", strs(), "Specific dyn. cfg-file for Broker")
27 
28  ("swc.bkr.concurrency.relative", boo(true),
29  "Determined ratio by HW-Concurrency")
30  ("swc.bkr.reactors", i32(4),
31  "Number of Communication Reactors or HW-Concurrency a Reactor")
32  ("swc.bkr.workers", i32(16),
33  "Number of Workers a Reactor")
34  ("swc.bkr.handlers", i32(2),
35  "Number or HW-Concurrency base of App Handlers")
36  ("swc.bkr.clients.handlers", i32(2),
37  "Number or HW-Concurrency base of DB-Client Handlers")
38 
39  ("swc.bkr.comm.encoder",
40  g_enum(
42  nullptr,
45  "The encoding to use in communication, options PLAIN/ZSTD/SNAPPY/ZLIB")
46 
47  ("swc.bkr.ram.allowed.percent", g_i32(33),
48  "Memory RSS % allowed without freeing/releasing")
49  ("swc.bkr.ram.reserved.percent", g_i32(33),
50  "Memory Total % reserved, threshold of low-memory enter state")
51  ("swc.bkr.ram.release.rate", g_i32(100),
52  "Memory release-rate (malloc dependable)")
53 
54  ("swc.bkr.metrics.enabled", boo(true),
55  "Enable or Disable Metrics Monitoring")
56 
57  ("swc.bkr.metrics.report.interval", g_i32(300),
58  "Metrics Reporting Interval in Seconds")
59  ;
60 
61 }
62 
63 }}
64 
65 #endif // swcdb_broker_Settings_h
SWC::Config::i32
Property::Value_int32::Ptr i32(const int32_t &v)
Definition: PropertiesParser.cc:33
SWC::Config::g_i32
Property::Value_int32_g::Ptr g_i32(const int32_t &v)
Definition: PropertiesParser.cc:77
SWC::Config::g_enum
Property::Value_enum_g::Ptr g_enum(const int32_t &v, Property::Value_enum_g::OnChg_t &&cb, Property::Value_enum_g::FromString_t &&from_string, Property::Value_enum_g::Repr_t &&repr)
Definition: PropertiesParser.cc:89
Settings.h
SWC::Config::init_app_options
void init_app_options(Settings *settings)
Definition: load_generator.cc:166
Settings.h
Encoder.h
SWC::Core::Encoder::from_string_encoding
SWC_CAN_INLINE int from_string_encoding(const std::string &typ) noexcept
Definition: Encoder.h:47
SWC::Config::boo
Property::Value_bool::Ptr boo(const bool &v)
Definition: PropertiesParser.cc:21
SWC::Config::init_client_options
void init_client_options(Settings *settings)
Definition: Settings.cc:13
SWC_DEFAULT_COMM_ENCODER
#define SWC_DEFAULT_COMM_ENCODER
Definition: Encoder.h:23
SWC::Config::init_comm_options
void init_comm_options(Settings *settings)
Definition: Settings.cc:13
Settings.h
SWC
The SWC-DB C++ namespace 'SWC'.
Definition: main.cc:12
SWC::Config::strs
Property::Value_strings::Ptr strs(Strings &&v)
Definition: PropertiesParser.cc:49
SWC::Config::str
Property::Value_string::Ptr str(std::string &&v)
Definition: PropertiesParser.cc:45
Settings.h
SWC::Core::Encoder::repr_encoding
SWC_CAN_INLINE std::string repr_encoding(int typ)
Definition: Encoder.h:42