{ @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
推荐阅读
-
-
捷克|继钢琴订单被取消后,川航全面终止和捷克合作,英法感慨损失惨重
-
#俄罗斯一市政中心迎来女机器人职员#俄罗斯一市政中心迎来女机器人职员
-
祖传篮球技巧损失8000万,巴萨计划6000万欧出售登贝莱
-
给你说个车|抛开其他因素,家庭用车能开多少年?,汽车正常状态下
-
星星看点点不扣分,很安全,高速更换备胎扣12分?老司机这样做
-
「星了个星座」能够收获真爱,财运大旺的4个星座,未来一周将会有好运接踵而至
-
运势|9月中旬,博得好彩头,运势一飞冲天,接金纳福的4个生肖
-
-
七月季一话5毛,看完大结局要准备多少钱,《海贼王》979话正式收费
-
「中金网」货币集体坐上过山车,融商环球:美元指数上蹿下跳
-
|80后小伙睑板腺消失:别再熬夜玩手机了,真的会瞎!
-
在京就读外国留学生近11万人次 北京将进一步扩大教育对外开放
-
「亲爱的自己」《亲爱的自己》:男人爱不爱你,放一次“鸽子”就通透了
-
[柏铭科技]以销量证明手机热销,打脸竞争对手,华为强势反击某手机企业
-
-
上海宝山|9月25日起,影院恢复开放的第三版防控指南实行,上座率不超75%
-
时装|图纸集 | 国外时装版型和图纸精选
-
-