acl  3.5.3.0
acl::master_aio类 参考abstract

#include <master_aio.hpp>

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

Public 成员函数

void run_daemon (int argc, char **argv)
 
bool run_alone (const char *addrs, const char *path=NULL, aio_handle_type ht=ENGINE_SELECT)
 
aio_handleget_handle () const
 
void stop ()
 
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)
 
- Public 成员函数 继承自 acl::aio_accept_callback
 aio_accept_callback (void)
 
virtual ~aio_accept_callback (void)
 
- Public 成员函数 继承自 acl::aio_callback
 aio_callback (void)
 
virtual ~aio_callback (void)
 
virtual void close_callback (void)
 
virtual bool timeout_callback (void)
 
virtual bool read_callback (char *data, int len)
 
virtual bool read_wakeup (void)
 
virtual bool write_callback (void)
 
virtual bool write_wakeup (void)
 

Protected 成员函数

 master_aio ()
 
virtual ~master_aio ()
 
virtual bool on_accept (aio_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_aio.hpp20 行定义.

构造及析构函数说明

◆ master_aio()

acl::master_aio::master_aio ( )
protected

◆ ~master_aio()

virtual acl::master_aio::~master_aio ( )
protectedvirtual

成员函数说明

◆ get_conf_path()

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

获得配置文件路径

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

◆ get_handle()

aio_handle* acl::master_aio::get_handle ( ) const

获得异步IO的事件引擎句柄,通过此句柄,用户可以设置定时器等功能

返回
{aio_handle*}

◆ on_accept()

virtual bool acl::master_aio::on_accept ( aio_socket_stream stream)
protectedpure virtual

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

参数
stream{aio_socket_stream*} 新接收到的客户端异步流对象
返回
{bool} 该函数如果返回 false 则通知服务器框架不再接收 远程客户端连接,否则继续接收客户端连接

◆ run_alone()

bool acl::master_aio::run_alone ( const char *  addrs,
const char *  path = NULL,
aio_handle_type  ht = ENGINE_SELECT 
)

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

参数
addrs{const char*} 服务监听地址列表,格式:IP:PORT, IP:PORT...
path{const char*} 配置文件全路径
ht{aio_handle_type} 事件引擎的类型
返回
{bool} 监听是否成功

◆ run_daemon()

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

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

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

◆ stop()

void acl::master_aio::stop ( )

在 run_alone 模式下,通知服务器框架关闭引擎,退出程序


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