WEB开发网
开发学院服务器云计算 Thrift之TProcess类体系原理及源码详细解析 阅读

Thrift之TProcess类体系原理及源码详细解析

 2012-06-03 15:50:17 来源:WEB开发网   
核心提示:}上面代码有比较详细的注释,还需要说明一点的就是如果传递的不是函数调用的消息类型就会返回给客户端一个异常的消息,Thrift之TProcess类体系原理及源码详细解析(14),客户端的接收返回值的函数就会根据收到的异常消息做相应处理,上面getName函数的接收返回值函数就是抛出一个服务器端给的异常信息,下面继续看最终

}

上面代码有比较详细的注释,还需要说明一点的就是如果传递的不是函数调用的消息类型就会返回给客户端一个异常的消息,客户端的接收返回值的函数就会根据收到的异常消息做相应处理,上面getName函数的接收返回值函数就是抛出一个服务器端给的异常信息。下面继续看最终服务器端调用相应映射函数的处理,这个是通过process_fn函数实现:具体定义如下:

bool FacebookServiceProcessor::process_fn(::apache::thrift::protocol::TProtocol* iprot,

::apache::thrift::protocol::TProtocol* oprot, std::string& fname, int32_t seqid, void* callContext) {

//定义个map的迭代器,用于接收在函数映射查找到的映射函数

std::map<std::string, void (FacebookServiceProcessor::*)(int32_t, ::apache::thrift::protocol::TProtocol*, 

::apache::thrift::protocol::TProtocol*, void*)>::iterator pfn;

 pfn = processMap_.find(fname);//根据函数名称查找对应的映射处理函数

 if (pfn == processMap_.end()) {//如果没有找到,做下面的处理

  

上一页  9 10 11 12 13 14 15 16 17 18 19  下一页

Tags:Thrift TProcess 体系

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接