acl  3.5.3.0
acl::master_proc类 参考abstract

#include <master_proc.hpp>

+ 类 acl::master_proc 继承关系图:
+ acl::master_proc 的协作图:

Public 成员函数

void run_daemon (int argc, char **argv)
 
bool run_alone (const char *addrs, const char *path=NULL, int count=1)
 
const char * get_conf_path (void) const
 
- Public 成员函数 继承自 acl::master_base
master_baseset_cfg_bool (master_bool_tbl *table)
 
master_baseset_cfg_int (master_int_tbl *table)
 
master_baseset_cfg_int64 (master_int64_tbl *table)
 
master_baseset_cfg_str (master_str_tbl *table)
 
bool daemon_mode (void) const
 
bool proc_set_timer (event_timer *timer)
 
void proc_del_timer (event_timer *timer)
 

Protected 成员函数

 master_proc ()
 
virtual ~master_proc ()
 
virtual void on_accept (socket_stream *stream)=0
 
- Protected 成员函数 继承自 acl::master_base
 master_base ()
 
virtual ~master_base ()
 
virtual void proc_on_listen (server_socket &ss)
 
virtual void proc_pre_jail ()
 
virtual void proc_on_init ()
 
virtual void proc_on_exit ()
 
virtual bool proc_on_sighup (string &)
 
void set_event (ACL_EVENT *event)
 
ACL_EVENTget_event (void) const
 
- Protected 成员函数 继承自 acl::acl::noncopyable
 noncopyable ()
 
 ~noncopyable ()
 

额外继承的成员函数

- Protected 属性 继承自 acl::master_base
bool daemon_mode_
 
bool proc_inited_
 
std::vector< server_socket * > servers_
 
master_conf conf_
 

详细描述

acl_master 服务器框架中进程方式的模板类,该类对象只能有一个实例运行

在文件 master_proc.hpp17 行定义.

构造及析构函数说明

◆ master_proc()

acl::master_proc::master_proc ( )
protected

◆ ~master_proc()

virtual acl::master_proc::~master_proc ( )
protectedvirtual

成员函数说明

◆ get_conf_path()

const char* acl::master_proc::get_conf_path ( void  ) const

获得配置文件路径

返回
{const char*} 返回值为 NULL 表示没有设配置文件

◆ on_accept()

virtual void acl::master_proc::on_accept ( socket_stream stream)
protectedpure virtual

纯虚函数:当接收到一个客户端连接时调用此函数

参数
stream{aio_socket_stream*} 新接收到的客户端异步流对象 注:该函数返回后,流连接将会被关闭,用户不应主动关闭该流

◆ run_alone()

bool acl::master_proc::run_alone ( const char *  addrs,
const char *  path = NULL,
int  count = 1 
)

在单独运行时的处理函数,用户可以调用此函数进行一些必要的调试工作

参数
addrs{const char*} 服务监听地址列表,格式:IP:PORT, IP:PORT...
path{const char*} 配置文件全路径
count{int} 当该值 > 0 时,则接收的连接次数达到此值且完成 后,该函数将返回,否则一直循环接收远程连接
返回
{bool} 监听是否成功

◆ run_daemon()

void acl::master_proc::run_daemon ( int  argc,
char **  argv 
)

开始运行,调用该函数是指该服务进程是在 acl_master 服务框架 控制之下运行,一般用于生产机状态

参数
argc{int} 从 main 中传递的第一个参数,表示参数个数
argv{char**} 从 main 中传递的第二个参数

该类的文档由以下文件生成: