acl/lib_acl_cpp/samples/gui_rpc/rpc/rpc_manager.cpp

30 lines
822 B
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "stdafx.h"
#include "rpc_manager.h"
rpc_manager::rpc_manager(int max_threads /* = 10 */)
{
// 因为本类实例是单例,会在程序 main 之前被调用,
// 所以需要在此类中打开日志
logger_open("gui_rpc.log", "gui_rpc");
// 创建非阻塞框架句柄,并采用 WIN32 消息模式acl::ENGINE_WINMSG
handle_ = new acl::aio_handle(acl::ENGINE_WINMSG);
// 创建 rpc 服务对象
service_ = new acl::rpc_service(max_threads);
// 打开消息服务
if (service_->open(handle_) == false)
logger_fatal("open service error: %s", acl::last_serror());
}
rpc_manager::~rpc_manager()
{
delete service_;
handle_->check();
delete handle_;
logger("rpc service destroy ok!");
}
void rpc_manager::fork(acl::rpc_request* req)
{
service_->rpc_fork(req);
}