未验证 提交 8031c162 编写于 作者: S superScala 提交者: GitHub

add break & default logic for NettyDecoder.decode (#2969)

* add break & default logic for NettyDecoder.decode

* fix the bad code smells
Co-authored-by: Ngabry <wu_shao_jie@qq.com>
Co-authored-by: Ngabry.wu <8545796+gabrywu@users.noreply.github.com>
Co-authored-by: Ndailidong <dailidong66@gmail.com>
上级 f7ea4f19
......@@ -24,6 +24,8 @@ import io.netty.handler.codec.ReplayingDecoder;
import org.apache.dolphinscheduler.remote.command.Command;
import org.apache.dolphinscheduler.remote.command.CommandHeader;
import org.apache.dolphinscheduler.remote.command.CommandType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
......@@ -31,6 +33,7 @@ import java.util.List;
* netty decoder
*/
public class NettyDecoder extends ReplayingDecoder<NettyDecoder.State> {
private static final Logger logger = LoggerFactory.getLogger(NettyDecoder.class);
public NettyDecoder(){
super(State.MAGIC);
......@@ -52,15 +55,19 @@ public class NettyDecoder extends ReplayingDecoder<NettyDecoder.State> {
case MAGIC:
checkMagic(in.readByte());
checkpoint(State.COMMAND);
break;
case COMMAND:
commandHeader.setType(in.readByte());
checkpoint(State.OPAQUE);
break;
case OPAQUE:
commandHeader.setOpaque(in.readLong());
checkpoint(State.BODY_LENGTH);
break;
case BODY_LENGTH:
commandHeader.setBodyLength(in.readInt());
checkpoint(State.BODY);
break;
case BODY:
byte[] body = new byte[commandHeader.getBodyLength()];
in.readBytes(body);
......@@ -72,6 +79,9 @@ public class NettyDecoder extends ReplayingDecoder<NettyDecoder.State> {
out.add(packet);
//
checkpoint(State.MAGIC);
break;
default:
logger.warn("unknown decoder state {}", state());
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册