Thrift之TProcess类体系原理及源码详细解析
2012-06-03 15:50:17 来源:WEB开发网核心提示:这个基本的框架包括三个类,一个就是抽象类TProcessor,Thrift之TProcess类体系原理及源码详细解析(2),负责调用用户定义的服务接口,从一个接口读入数据,例如当读取参数之前可以做一些处理功能,下面是这个类定义的各个成员函数,写入一个输出接口,一个最主要的函数定义如下:virtual bool proc
这个基本的框架包括三个类,一个就是抽象类TProcessor,负责调用用户定义的服务接口,从一个接口读入数据,写入一个输出接口。一个最主要的函数定义如下:
virtual bool process(boost::shared_ptr<protocol::TProtocol> in,
boost::shared_ptr<protocol::TProtocol> out, void* connectionContext) = 0;
这个函数是一个纯虚函数,所以继承这个类的子类都必须实现这个函数,这个函数就是最主要的数据传输功能。
第二个类就是负责处理TProcessor类产生的事件的类TProcessorEventHandler,主要定义了一些当某事件发生时的处理函数,例如当读取参数之前可以做一些处理功能。下面是这个类定义的各个成员函数,每一个函数都处理一种事件发送时的情况:
函数名称 |
函数功能 |
getContext |
调用其他回调函数之前调用,期望返回一些有序的上下文对象以便传递给其他回调函数使用 |
freeContext |
期望释放一个上下文有关的资源 |
preRead |
在读参数以前调用 |
postRead |
在读参数和处理函数之间调用 |
preWrite |
在处理和写响应之间调用 |
postWrite |
在写响应之后调用 |
asyncComplete |
当一个异步函数成功完成调用时调用 |
handlerError |
如果处理函数抛出没有定义的异常就会调用此函数 |
更多精彩
赞助商链接