acl/app/master/tools/master_monitor/master_service.h

42 lines
854 B
C
Raw Normal View History

#pragma once
2018-01-24 16:44:38 +08:00
extern acl::master_str_tbl var_conf_str_tab[];
extern acl::master_bool_tbl var_conf_bool_tab[];
extern acl::master_int_tbl var_conf_int_tab[];
extern acl::master_int64_tbl var_conf_int64_tab[];
//////////////////////////////////////////////////////////////////////////
class master_service : public acl::master_fiber
{
public:
master_service(void);
~master_service(void);
protected:
// @override
void on_accept(acl::socket_stream& conn);
// @override
void proc_on_listen(acl::server_socket& ss);
// @override
void proc_pre_jail(void);
// @override
void proc_on_init(void);
// @override
void proc_on_exit(void);
// @override
bool proc_on_sighup(acl::string&);
private:
2018-01-29 17:24:54 +08:00
bool service_exit_;
acl::thread* monitor_;
acl::tcp_ipc ipc_;
2018-01-24 16:44:38 +08:00
void handle(const acl::string& data);
};