acl/lib_acl_cpp/samples/master_http_rpc/rpc_manager.cpp

42 lines
699 B
C++
Raw Normal View History

#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;
// <20><><EFBFBD><EFBFBD> rpc <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
service_ = new acl::rpc_service(max_threads);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
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);
}