TTransport
2019-03-04 11:06:08 0 举报
thrift 从请求到返回时序图
作者其他创作
大纲/内容
将数据写到本地缓存,数据写完后TProtocol会调用flush将数据发出去
先读前四字节,然后设置size+4的长度,直到将所有数据读完
TSocket
TFramedTransport
数据读完后将ByteBuffer的数据复制过来,该对象是FrameBuffer中的变量,不是TFramedTransport中的
TServiceClient
将数据写到本地缓存,数据写完后TProtocol会调用flush将数据发到FrameBuffer的缓存中
TMemoryInputTransport
底层IO操作
这里会多次调用写入数据
FrameBuffer
客户端
服务端
TProcessor
TProtocol
ByteBuffer
这里会一直阻塞到数据到来
在发数据结束后,TProtocol会调用read方法,TFramedTransport 通过前四字节保证所有数据都已经读到本地缓存才会返回
调用read方法后将FrameBuffer中的数据复制到本地缓存中
TNonblockingSocket
将数据读取到ByteBuffer中
业务线程会将数据从TMemoryInputTransport复制过来
0 条评论
下一页
为你推荐
查看更多
抱歉,暂无相关内容