SWC-DB
v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
main.cc
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
7
#include "
swcdb/manager/Settings.h
"
8
#include "
swcdb/core/comm/SerializedServer.h
"
9
#include "
swcdb/manager/AppContext.h
"
10
11
12
namespace
SWC
{
13
14
20
namespace
Manager {
21
22
23
24
SWC_SHOULD_NOT_INLINE
25
Comm::server::SerializedServer::Ptr
make_service
() {
26
AppContext::Ptr
app_ctx(
new
AppContext
());
27
Comm::server::SerializedServer::Ptr
srv(
28
new
Comm::server::SerializedServer
(
29
*
Env::Config::settings
(),
30
"MANAGER"
,
31
Env::Config::settings
()->get_bool(
"swc.mngr.concurrency.relative"
),
32
Env::Config::settings
()->get_i32(
"swc.mngr.reactors"
),
33
Env::Config::settings
()->get_i32(
"swc.mngr.workers"
),
34
Env::Config::settings
()->get_i16(
"swc.mngr.port"
),
35
app_ctx
36
)
37
);
38
app_ctx->set_srv(srv);
39
return
srv;
40
}
41
42
SWC_SHOULD_NOT_INLINE
43
int
exiting
() {
44
SWC_LOG
(
LOG_INFO
,
"Exit"
);
45
SWC_CAN_QUICK_EXIT
(EXIT_SUCCESS);
46
47
Env::Config::reset
();
48
49
std::this_thread::sleep_for(std::chrono::seconds(1));
50
return
0;
51
}
52
53
SWC_SHOULD_NOT_INLINE
54
int
run
() {
55
SWC_TRY_OR_LOG
(
""
,
56
make_service
()->
run
();
57
return
exiting
();
58
);
59
return
1;
60
}
61
62
63
64
}}
// namespace SWC::Manager
65
66
67
68
int
main
(
int
argc,
char
** argv) {
69
SWC::Env::Config::init
(argc, argv, &
SWC::Config::init_app_options
,
nullptr
);
70
SWC::Env::Config::settings
()->init_process(
true
,
"swc.mngr.port"
);
71
return
SWC::Manager::run
();
72
}
main
int main(int argc, char **argv)
Definition:
main.cc:68
SWC::Env::Config::reset
static void reset() noexcept
Definition:
Settings.h:133
Settings.h
SWC_TRY_OR_LOG
#define SWC_TRY_OR_LOG(_s_, _code_)
Definition:
Exception.h:153
SWC::Manager::run
SWC_SHOULD_NOT_INLINE int run()
Definition:
main.cc:54
SWC::Env::Config::settings
static SWC::Config::Settings::Ptr & settings()
Definition:
Settings.h:128
SWC::Config::init_app_options
void init_app_options(Settings *settings)
Definition:
load_generator.cc:166
SWC::LOG_INFO
@ LOG_INFO
Definition:
Logger.h:35
SWC::Manager::AppContext::Ptr
std::shared_ptr< AppContext > Ptr
Definition:
AppContext.h:45
SWC::Env::Config::init
static SWC_SHOULD_NOT_INLINE void init(int argc, char **argv, SWC::Config::Settings::init_option_t init_app_options, SWC::Config::Settings::init_option_t init_post_cmd_args)
Definition:
Settings.h:110
SWC::Manager::exiting
SWC_SHOULD_NOT_INLINE int exiting()
Definition:
main.cc:43
SWC_LOG
#define SWC_LOG(priority, message)
Definition:
Logger.h:191
SWC::Manager::AppContext
Definition:
AppContext.h:42
SWC
The SWC-DB C++ namespace 'SWC'.
Definition:
main.cc:12
SWC::Comm::server::SerializedServer
Definition:
SerializedServer.h:59
SWC_CAN_QUICK_EXIT
#define SWC_CAN_QUICK_EXIT(_CODE_)
Definition:
Compat.h:191
SWC::Comm::server::SerializedServer::Ptr
std::shared_ptr< SerializedServer > Ptr
Definition:
SerializedServer.h:62
SerializedServer.h
AppContext.h
SWC::Manager::make_service
SWC_SHOULD_NOT_INLINE Comm::server::SerializedServer::Ptr make_service()
Definition:
main.cc:25
bin
swcdb
manager
main.cc
Generated on Sat Jun 3 2023 18:00:05 for SWC-DB by
1.8.20