acl  3.5.3.0
acl::rpc_service类 参考

#include <rpc.hpp>

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

Public 成员函数

 rpc_service (int nthread, bool ipc_keep=true)
 
 ~rpc_service (void)
 
void rpc_fork (rpc_request *req)
 
- Public 成员函数 继承自 acl::ipc_service
 ipc_service (int nthread, bool ipc_keep=true)
 
virtual ~ipc_service ()
 
ipc_clientpeek_conn ()
 
void push_conn (ipc_client *conn)
 
- Public 成员函数 继承自 acl::ipc_server
 ipc_server ()
 
virtual ~ipc_server ()
 
bool open (aio_handle *handle, const char *addr="127.0.0.1:0")
 
const char * get_addr () const
 
aio_listen_streamget_stream () const
 
aio_handleget_handle () const
 

额外继承的成员函数

- Protected 成员函数 继承自 acl::ipc_service
void request (ipc_request *req)
 
- Protected 成员函数 继承自 acl::ipc_server
virtual void on_open (const char *addr)
 
virtual void on_close ()
 
- Protected 属性 继承自 acl::ipc_service
long long int magic_
 

详细描述

在文件 rpc.hpp126 行定义.

构造及析构函数说明

◆ rpc_service()

acl::rpc_service::rpc_service ( int  nthread,
bool  ipc_keep = true 
)

构造函数

参数
nthread{int} 如果该值 > 1 则内部自动采用线程池,否则 则是一个请求一个线程
ipc_keep{bool} 内部 IPC 消息流是否保持长连接,保持长 连接有助于提高消息传递的效率

◆ ~rpc_service()

acl::rpc_service::~rpc_service ( void  )
inline

在文件 rpc.hpp138 行定义.

138 {}

成员函数说明

◆ rpc_fork()

void acl::rpc_service::rpc_fork ( rpc_request req)

主线程中运行:将请求任务放入子线程池的任务请求队列中,当线程池 中的一个子线程接收到该任务后便调用 rpc_request::rpc_run 方法调 用子类的方法,当任务处理完毕后给主线程发消息,在主线程中再调用 rpc_request::rpc_callback

参数
req{rpc_request*} rpc_request 子类实例,非空

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