{ @Override public String decode(ByteBuf buffer) { int lineEndIndex = CodecUtils.X.findLineEndIndex(buffer); if (-1 == lineEndIndex) { return null; } Long length = (Long) DefaultRespCodec.DECODERS.get(ReplyType.INTEGER).decode(buffer); if (null == length) { return null; } // Bulk Null String if (RespConstants.NEGATIVE_ONE.equals(length)) { return null; } // Bulk Empty String if (RespConstants.ZERO.equals(length)) { return RespConstants.EMPTY_STRING; } // 真实字节内容的长度 int readLength = (int) length.longValue(); if (buffer.readableBytes() > readLength) { byte[] bytes = new byte[readLength]; buffer.readBytes(bytes); // 重置读游标为rn之后的第一个字节 buffer.readerIndex(buffer.readerIndex() + 2); return new String(bytes, RespConstants.UTF_8); } return null; }}public class RespArrayDecoder implements RespDecoder { @Override public Object decode(ByteBuf buffer) { int lineEndIndex = CodecUtils.X.findLineEndIndex(buffer); if (-1 == lineEndIndex) { return null; } // 解析元素个数 Long length = (Long) DefaultRespCodec.DECODERS.get(ReplyType.INTEGER).decode(buffer); if (null == length) { return null; } // Null Array if (RespConstants.NEGATIVE_ONE.equals(length)) { return null; } // Array Empty List if (RespConstants.ZERO.equals(length)) { return Lists.newArrayList(); } List
推荐阅读
-
「黄冈市」湖北24日新增确诊病例499例,新增出院2116例
-
|「时尚达人的服饰装扮」 李胜基,从少年成长为男人
-
-
成精|湄公河大虾“成精”当地人请求中国吃货出手,却为何遭到拒绝
-
-
嘻哈段子|老婆在追杀她大哥,小姨子在医院陪着我,幽默笑话:现在
-
-
-
-
蒂亚戈|午夜转会快报,蒂亚戈接近红军,皇马欲抛售贝尔,曼联一进一出
-
斯加|漫威:中看不中用的4件神器,振金手臂上榜,阿斯加德占了2件
-
一加|《原神》提前泄露机密!一加9RT联名版曝光:骁龙870直屏旗舰
-
包括|猪肉进口正当时:2019年猪肉进口量达200万吨,增长67.6%,刷新历史高点
-
【趣果君】马超,蒙犽等6位英雄遭到调整,王者荣耀:最新体验服更新
-
心妍坊|PERSTAR波斯塔明星造型店已入驻购物中心
-
食疗食补|入秋后,这汤我常喝,别看它个头小,比喝鸡汤好多了,顺气气色好
-
-
音频怪物:拥有旗舰般拍照和强续航,价格是否被感动?,被忽视性价比
-
|在职场中,一些人总是能够找到自己的“领导”去领导自己
-
「于震寰」?曾火遍全国的“毛孩”于震寰,43年过去了,如今过得怎样?