@Override
protected void encode(ChannelHandlerContext ctx, Proto proto, List<Object> list) throws Exception {
ByteBuf byteBuf = ByteBufAllocator.DEFAULT.buffer();
if (proto.getBody() != null) {
byteBuf.writeInt(Proto.HEADER_LENGTH + proto.getBody().length);
byteBuf.writeShort(Proto.HEADER_LENGTH);
byteBuf.writeShort(Proto.VERSION);
byteBuf.writeInt(proto.getOperation());
byteBuf.writeInt(proto.getSeqId());
byteBuf.writeBytes(proto.getBody());
} else {
byteBuf.writeInt(Proto.HEADER_LENGTH);
byteBuf.writeShort(Proto.HEADER_LENGTH);
byteBuf.writeShort(Proto.VERSION);
byteBuf.writeInt(proto.getOperation());
byteBuf.writeInt(proto.getSeqId());
}
list.add(new BinaryWebSocketFrame(byteBuf));
logger.debug("encode: {}", proto);
}
WebSocketProtoCodec.java 文件源码
java
阅读 27
收藏 0
点赞 0
评论 0
项目:os
作者:
评论列表
文章目录