acl/app/master_dispatch/server/master_service.h

41 lines
915 B
C++

#pragma once
class master_service : public acl::master_aio
{
public:
master_service();
~master_service();
protected:
/**
* 纯虚函数:当接收到一个客户端连接时调用此函数
* @param stream {aio_socket_stream*} 新接收到的客户端异步流对象
* @return {bool} 该函数如果返回 false 则通知服务器框架不再接收
* 远程客户端连接,否则继续接收客户端连接
*/
bool on_accept(acl::aio_socket_stream* stream);
/**
* 当进程切换用户身份后调用的回调函数,此函数被调用时,进程
* 的权限为普通受限级别
*/
virtual void proc_on_init();
/**
* 当进程退出前调用的回调函数
*/
virtual void proc_on_exit();
public:
/*
* 找到匹配的内地址
*/
static void find_addr_include(acl::string& name, acl::string& addr,
const char* nic_names, const char* net_addrs);
private:
acl::event_timer* manage_timer_;
acl::event_timer* status_timer_;
acl::event_timer* server_timer_;
};