Dubbo源码分析:DubboCodec编码和解码

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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值