refactor event system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit

This commit is contained in:
2025-01-23 19:32:40 -06:00
parent 52e7f675fc
commit efcb319d8c
10 changed files with 51 additions and 22 deletions

View File

@ -58,7 +58,10 @@ public:
drive_(drv), drive_(drv),
mount_location_(std::move(mount_location)), mount_location_(std::move(mount_location)),
client_pool_(config.get_remote_mount().client_pool_size) { client_pool_(config.get_remote_mount().client_pool_size) {
event_system::instance().raise<service_start_begin>("remote_server_base"); REPERTORY_USES_FUNCTION_NAME();
event_system::instance().raise<service_start_begin>(function_name,
"remote_server_base");
handler_lookup_.insert( handler_lookup_.insert(
{"::winfsp_can_delete", {"::winfsp_can_delete",
[this](std::uint32_t, const std::string &, std::uint64_t, [this](std::uint32_t, const std::string &, std::uint64_t,
@ -1375,7 +1378,8 @@ public:
method, request, response, method, request, response,
message_complete); message_complete);
}); });
event_system::instance().raise<service_start_end>("remote_server_base"); event_system::instance().raise<service_start_end>(function_name,
"remote_server_base");
} }
~remote_server_base() override { ~remote_server_base() override {

View File

@ -46,7 +46,8 @@ void client_pool::pool::execute(
client_pool::pool::pool(std::uint8_t pool_size) { client_pool::pool::pool(std::uint8_t pool_size) {
REPERTORY_USES_FUNCTION_NAME(); REPERTORY_USES_FUNCTION_NAME();
event_system::instance().raise<service_start_begin>("client_pool"); event_system::instance().raise<service_start_begin>(function_name,
"client_pool");
for (std::uint8_t i = 0U; i < pool_size; i++) { for (std::uint8_t i = 0U; i < pool_size; i++) {
pool_queues_.emplace_back(std::make_unique<work_queue>()); pool_queues_.emplace_back(std::make_unique<work_queue>());
@ -109,7 +110,8 @@ client_pool::pool::pool(std::uint8_t pool_size) {
}); });
} }
event_system::instance().raise<service_start_end>("client_pool"); event_system::instance().raise<service_start_end>(function_name,
"client_pool");
} }
void client_pool::pool::shutdown() { void client_pool::pool::shutdown() {

View File

@ -40,9 +40,13 @@ packet_server::packet_server(std::uint16_t port, std::string token,
: encryption_token_(std::move(token)), : encryption_token_(std::move(token)),
closed_(std::move(closed)), closed_(std::move(closed)),
message_handler_(std::move(message_handler)) { message_handler_(std::move(message_handler)) {
event_system::instance().raise<service_start_begin>("packet_server"); REPERTORY_USES_FUNCTION_NAME();
event_system::instance().raise<service_start_begin>(function_name,
"packet_server");
initialize(port, pool_size); initialize(port, pool_size);
event_system::instance().raise<service_start_end>("packet_server"); event_system::instance().raise<service_start_end>(function_name,
"packet_server");
} }
packet_server::~packet_server() { packet_server::~packet_server() {

View File

@ -848,7 +848,8 @@ void file_manager::start() {
return; return;
} }
event_system::instance().raise<service_start_begin>("file_manager"); event_system::instance().raise<service_start_begin>(function_name,
"file_manager");
stop_requested_ = false; stop_requested_ = false;
polling::instance().set_callback({ polling::instance().set_callback({
@ -859,7 +860,8 @@ void file_manager::start() {
if (provider_.is_read_only()) { if (provider_.is_read_only()) {
stop_requested_ = false; stop_requested_ = false;
event_system::instance().raise<service_start_end>("file_manager"); event_system::instance().raise<service_start_end>(function_name,
"file_manager");
return; return;
} }
@ -919,7 +921,8 @@ void file_manager::start() {
} }
upload_thread_ = std::make_unique<std::thread>([this] { upload_handler(); }); upload_thread_ = std::make_unique<std::thread>([this] { upload_handler(); });
event_system::instance().raise<service_start_end>("file_manager"); event_system::instance().raise<service_start_end>(function_name,
"file_manager");
} }
void file_manager::stop() { void file_manager::stop() {

View File

@ -868,7 +868,8 @@ auto encrypt_provider::start(api_item_added_callback /*api_item_added*/,
return false; return false;
} }
event_system::instance().raise<service_start_begin>("encrypt_provider"); event_system::instance().raise<service_start_begin>(function_name,
"encrypt_provider");
db_ = create_file_db(config_); db_ = create_file_db(config_);
std::string source_path; std::string source_path;
@ -905,7 +906,8 @@ auto encrypt_provider::start(api_item_added_callback /*api_item_added*/,
[this](auto &&stop_requested) { remove_deleted_files(stop_requested); }, [this](auto &&stop_requested) { remove_deleted_files(stop_requested); },
}); });
event_system::instance().raise<service_start_end>("encrypt_provider"); event_system::instance().raise<service_start_end>(function_name,
"encrypt_provider");
return true; return true;
} }

View File

@ -1040,12 +1040,16 @@ auto s3_provider::set_meta_key(const std::string &api_path,
auto s3_provider::start(api_item_added_callback api_item_added, auto s3_provider::start(api_item_added_callback api_item_added,
i_file_manager *mgr) -> bool { i_file_manager *mgr) -> bool {
event_system::instance().raise<service_start_begin>("s3_provider"); REPERTORY_USES_FUNCTION_NAME();
event_system::instance().raise<service_start_begin>(function_name,
"s3_provider");
s3_config_ = get_config().get_s3_config(); s3_config_ = get_config().get_s3_config();
get_comm().enable_s3_path_style(s3_config_.use_path_style); get_comm().enable_s3_path_style(s3_config_.use_path_style);
auto ret = base_provider::start(api_item_added, mgr); auto ret = base_provider::start(api_item_added, mgr);
event_system::instance().raise<service_start_end>("s3_provider"); event_system::instance().raise<service_start_end>(function_name,
return ret "s3_provider");
return ret;
} }
void s3_provider::stop() { void s3_provider::stop() {

View File

@ -741,10 +741,14 @@ auto sia_provider::rename_file(const std::string &from_api_path,
auto sia_provider::start(api_item_added_callback api_item_added, auto sia_provider::start(api_item_added_callback api_item_added,
i_file_manager *mgr) -> bool { i_file_manager *mgr) -> bool {
event_system::instance().raise<service_start_begin>("sia_provider"); REPERTORY_USES_FUNCTION_NAME();
event_system::instance().raise<service_start_begin>(function_name,
"sia_provider");
sia_config_ = get_config().get_sia_config(); sia_config_ = get_config().get_sia_config();
auto ret = base_provider::start(api_item_added, mgr); auto ret = base_provider::start(api_item_added, mgr);
event_system::instance().raise<service_start_end>("sia_provider"); event_system::instance().raise<service_start_end>(function_name,
"sia_provider");
return ret; return ret;
} }

View File

@ -146,7 +146,7 @@ void server::start() {
return; return;
} }
event_system::instance().raise<service_start_begin>("server"); event_system::instance().raise<service_start_begin>(function_name, "server");
server_ = std::make_unique<httplib::Server>(); server_ = std::make_unique<httplib::Server>();
@ -185,7 +185,7 @@ void server::start() {
server_thread_ = std::make_unique<std::thread>( server_thread_ = std::make_unique<std::thread>(
[this]() { server_->listen("127.0.0.1", config_.get_api_port()); }); [this]() { server_->listen("127.0.0.1", config_.get_api_port()); });
event_system::instance().raise<service_start_end>("server"); event_system::instance().raise<service_start_end>(function_name, "server");
} }
void server::stop() { void server::stop() {

View File

@ -97,12 +97,14 @@ void polling::set_callback(const polling_item &item) {
} }
void polling::start(app_config *config) { void polling::start(app_config *config) {
REPERTORY_USES_FUNCTION_NAME();
mutex_lock lock(start_stop_mutex_); mutex_lock lock(start_stop_mutex_);
if (frequency_threads_.at(0U)) { if (frequency_threads_.at(0U)) {
return; return;
} }
event_system::instance().raise<service_start_begin>("polling"); event_system::instance().raise<service_start_begin>(function_name, "polling");
config_ = config; config_ = config;
stop_requested_ = false; stop_requested_ = false;
@ -141,7 +143,7 @@ void polling::start(app_config *config) {
this->frequency_thread([]() -> std::uint32_t { return 1U; }, this->frequency_thread([]() -> std::uint32_t { return 1U; },
frequency::second); frequency::second);
}); });
event_system::instance().raise<service_start_end>("polling"); event_system::instance().raise<service_start_end>(function_name, "polling");
} }
void polling::stop() { void polling::stop() {

View File

@ -40,6 +40,8 @@ void single_thread_service_base::notify_all() const {
} }
void single_thread_service_base::start() { void single_thread_service_base::start() {
REPERTORY_USES_FUNCTION_NAME();
mutex_lock lock(mtx_); mutex_lock lock(mtx_);
if (thread_) { if (thread_) {
return; return;
@ -48,8 +50,10 @@ void single_thread_service_base::start() {
stop_requested_ = false; stop_requested_ = false;
on_start(); on_start();
thread_ = std::make_unique<std::thread>([this]() { thread_ = std::make_unique<std::thread>([this]() {
event_system::instance().raise<service_start_begin>(service_name_); event_system::instance().raise<service_start_begin>(function_name,
event_system::instance().raise<service_start_end>(service_name_); service_name_);
event_system::instance().raise<service_start_end>(function_name,
service_name_);
while (not get_stop_requested()) { while (not get_stop_requested()) {
service_function(); service_function();
} }