Thrift之TProcess类体系原理及源码详细解析
2012-06-03 15:50:17 来源:WEB开发网核心提示:return true;}(this->*(pfn->second))(seqid, iprot, oprot, callContext);//调用具体的函数(RPC过程完成)return true;}上面这个函数最终完成了RPC的过程,那个函数与映射函数的对应关系的map结构是在构造函数中初始化的,Thr
return true;
}
(this->*(pfn->second))(seqid, iprot, oprot, callContext);//调用具体的函数(RPC过程完成)
return true;
}
上面这个函数最终完成了RPC的过程,那个函数与映射函数的对应关系的map结构是在构造函数中初始化的,所以可以找到,例如我们举例的getName函数是下面这样初始化的:
processMap_["getName"] = &FacebookServiceProcessor::process_getName;
和getName函数一样,对于IDL定义的每一个函数在FacebookServiceProcessor类中都有一个映射的处理函数,为了展示一个完整的处理过程我们在看看getName函数的映射处理函数process_getName,它的定义如下:
void FacebookServiceProcessor::process_getName(int32_t seqid,
::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
更多精彩
赞助商链接