DubboCodec
DubboCodec是实现RPC调用的Request和Response对象的编码和解码类,RPC调用实现的核心传输也就是这两个类对象。
DubboCodec的父类列表
AbstractCodec (org.apache.dubbo.remoting.transport)
TransportCodec (org.apache.dubbo.remoting.transport.codec)
TelnetCodec (org.apache.dubbo.remoting.telnet.codec)
ExchangeCodec (org.apache.dubbo.remoting.exchange.codec)
DubboCodec (org.apache.dubbo.rpc.protocol.dubbo)
1. Request和Response头部数据的编码和解码(不包括RequestData和ResponseData部分)
org.apache.dubbo.remoting.exchange.codec.ExchangeCodec
2. RequestData(RpcInvocation)和ResponseData(AppResponse)的协议编码和解码
org.apache.dubbo.rpc.protocol.dubbo.DubboCodec
RpcInvocation数据的编码与解码
1. 解码类
DecodeableRpcInvocation用于解码RpcInvocation类的序列化数据
RpcInvocation (org.apache.dubbo.rpc)
DecodeableRpcInvocation (org.apache.dubbo.rpc.protocol.dubbo)
2.编码方法
与DecodeableRpcInvocation解码类对应的编码方法
org.apache.dubbo.rpc.protocol.dubbo.DubboCodec#encodeRequestData(org.apache.dubbo.remoting.Channel, org.apache.dubbo.common.serialize.ObjectOutput, java.lang.Object, java.lang.String)
AppResponse数据的编码与解码
1. 解码类
DecodeableRpcResult用于AppResponse数据的解码
AppResponse (org.apache.dubbo.rpc)
DecodeableRpcResult (org.apache.dubbo.rpc.protocol.dubbo)
2. 编码方法
与DecodeableRpcResult解码类对应的编码方法
org.apache.dubbo.rpc.protocol.dubbo.DubboCodec#encodeResponseData(org.apache.dubbo.remoting.Channel, org.apache.dubbo.common.serialize.ObjectOutput, java.lang.Object, java.lang.String)