#include "stdafx.h" #include "rpc_manager.h" rpc_manager::rpc_manager() : handle_(NULL) , service_(NULL) { } rpc_manager::~rpc_manager() { logger("rpc service destroy ok!"); } void rpc_manager::init(acl::aio_handle* handle, int max_threads /* = 10 */, const char* rpc_addr /* = NULL */) { handle_ = handle; // 创建 rpc 服务对象 service_ = new acl::rpc_service(max_threads); // 打开消息服务 if (service_->open(handle_, rpc_addr) == false) logger_fatal("open service error: %s", acl::last_serror()); } void rpc_manager::finish() { if (service_) { delete service_; if (handle_) handle_->check(); } } void rpc_manager::fork(acl::rpc_request* req) { service_->rpc_fork(req); }