es版本:6.0.1
TcpHeader类里面是header头
大概说下含义前面两个byte就是一个标识,仅此而已。第三个int是body长度和后三个标识的长度,至于此处为什么没放在最后一位,不得而知,第四个请求的id,看过rpc或者写过rpc的小伙伴应该清楚这是个请求标识,当请求返回时,容易找到对应的处理对象,一般是存储方式是Map<String,Object>,第五位是一个状态标识某个事件,最后一位是个版本号的id,TcpTransport.buildMessage构建了整个协议 。
TcpTransport.validateMessageHeader校验协议头
TcpTransport类中多次运用到E,S为什么不构建个两个常量,不得而知,下篇讲讲es使用netty运用了那些优化。
网友评论