Thrift之TProcess类体系原理及源码详细解析
2012-06-03 15:50:17 来源:WEB开发网核心提示:{…}上面这六个类定义就是为服务中的getName函数服务的,相应的每一个函数都会有这种类似的定义和实现,Thrift之TProcess类体系原理及源码详细解析(8),接下来就会定义三个具体实现IDL定义的功能的类,一个客户端的类,其他函数都是这样实现的,代码如下:send_getName();recv_
{…}
上面这六个类定义就是为服务中的getName函数服务的,相应的每一个函数都会有这种类似的定义和实现。接下来就会定义三个具体实现IDL定义的功能的类,一个客户端的类,它继承定义的服务抽象类,每一个具体的函数实现都是同样的方式和思路,同样我结合getName函数的实现来看看这个过程,其他函数都是这样实现的,代码如下:
send_getName();
recv_getName(_return);
由上面代码可以看出首先调用函数发送函数名称及相关信息到远程,然后接受函数调用的返回值,发送函数send_getName()的代码如下:
int32_t cseqid = 0;
oprot_->writeMessageBegin("getName", ::apache::thrift::protocol::T_CALL, cseqid);//写一个函数调用消息RPC
FacebookService_getName_pargs args;
args.write(oprot_);//写入参数
oprot_->writeMessageEnd();
oprot_->getTransport()->writeEnd();
oprot_->getTransport()->flush();//保证这次写入过程立即生效
更多精彩
赞助商链接