2019-07-28 10:31:56 +08:00
|
|
|
#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);
|
|
|
|
};
|