{ @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
推荐阅读
-
生肖|接下来一周吉星高照,买彩票有望中大奖的3大生肖
-
-
陈宥维|“乘风破浪的哥哥”阵容曝光,网友吐槽节目是失格男星聚集地
-
苏志燮|苏志燮有望出演漫改剧 46岁回归生活拍戏佛系 妻子赵恩静是女神
-
-
服务|创文攻坚,阳江在行动!这些看得见,摸得着的努力,改善了我们的生活
-
-
李晨胸前画圆说柳岩是最那个的人|李晨胸前画圆说柳岩是最那个的人是怎么回事?什么情况?终于真相了,原来是这样!
-
河南日报这是你不知道的河南⑤丨河南5G发展创下多个“第一”
-
-
「华为」2020年全球十大畅销机型:没有一部是华为,唯独这个国产品牌上榜
-
-
女孩子|女孩子常做这“3动作”,鼻子会越来越立体,连校花也会嫉妒你哟
-
美国@速度惊人!美国疫苗已进入临床试验阶段!!清华专家一语道破真相!!!
-
-
-
『健康推送员』练太极拳有这么多惊人好处,你还不知道吧早知早受益!,养生之道
-
字节跳动|低调拿下支付牌照 字节跳动电商金融再下一城
-
今天地铁上有人让扫二维码,扫了对方一直没有回应,是不是被骗了呀
-