@Override protected Decoder<Object> selectDecoder(CommandData<Object, Object> data, List<Object> parts) { if (parts != null) { if (data != null && parts.size() == 1 && "pong".equals(parts.get(0))) { return data.getCodec().getValueDecoder(); } if (parts.size() == 1) { return ByteArrayCodec.INSTANCE.getValueDecoder(); } if (parts.size() == 2 && "pmessage".equals(parts.get(0))) { return ByteArrayCodec.INSTANCE.getValueDecoder(); } if (parts.size() == 2 && "message".equals(parts.get(0))) { byte[] channelName = (byte[]) parts.get(1); return getDecoder(parts, channelName); } if (parts.size() == 3 && "pmessage".equals(parts.get(0))) { byte[] patternName = (byte[]) parts.get(1); return getDecoder(parts, patternName); } } if (data != null && data.getCommand().getName().equals(RedisCommands.PING.getName())) { return data.getCodec().getValueDecoder(); } return super.selectDecoder(data, parts); }
@Override protected Decoder<Object> selectDecoder(CommandData<Object, Object> data, List<Object> parts) { if (parts != null) { if (data != null && parts.size() == 1 && "pong".equals(parts.get(0))) { return data.getCodec().getValueDecoder(); } if (parts.size() == 1) { return ByteArrayCodec.INSTANCE.getValueDecoder(); } if (parts.size() == 2 && "pmessage".equals(parts.get(0))) { return ByteArrayCodec.INSTANCE.getValueDecoder(); } if (parts.size() == 2 && "message".equals(parts.get(0))) { byte[] channelName = (byte[]) parts.get(1); return getDecoder(parts, channelName); } if (parts.size() == 3 && "pmessage".equals(parts.get(0))) { byte[] patternName = (byte[]) parts.get(1); return getDecoder(parts, patternName); } } if (data != null && data.getCommand().getName().equals(RedisCommands.PING.getName())) { return data.getCodec().getValueDecoder(); } return super.selectDecoder(data, parts); }
if (data.getCodec() == null) { return StringCodec.INSTANCE.getValueDecoder(); return data.getCodec().getMapValueDecoder(); } else { return data.getCodec().getMapKeyDecoder(); return data.getCodec().getMapKeyDecoder(); } else if (data.getCommand().getOutParamType() == ValueType.MAP_VALUE) { return data.getCodec().getMapValueDecoder(); } else { return data.getCodec().getValueDecoder();
if (data.getCodec() == null) { return StringCodec.INSTANCE.getValueDecoder(); return data.getCodec().getMapValueDecoder(); } else { return data.getCodec().getMapKeyDecoder(); return data.getCodec().getMapKeyDecoder(); } else if (data.getCommand().getOutParamType() == ValueType.MAP_VALUE) { return data.getCodec().getMapValueDecoder(); } else { return data.getCodec().getValueDecoder();
@Override protected Decoder<Object> selectDecoder(CommandData<Object, Object> data, List<Object> parts) { if (parts != null) { if (data != null && parts.size() == 1 && "pong".equals(parts.get(0))) { return data.getCodec().getValueDecoder(); } if (parts.size() == 1) { return ByteArrayCodec.INSTANCE.getValueDecoder(); } if (parts.size() == 2 && "pmessage".equals(parts.get(0))) { return ByteArrayCodec.INSTANCE.getValueDecoder(); } if (parts.size() == 2 && "message".equals(parts.get(0))) { byte[] channelName = (byte[]) parts.get(1); return getDecoder(parts, channelName); } if (parts.size() == 3 && "pmessage".equals(parts.get(0))) { byte[] patternName = (byte[]) parts.get(1); return getDecoder(parts, patternName); } } if (data != null && data.getCommand().getName().equals(RedisCommands.PING.getName())) { return data.getCodec().getValueDecoder(); } return super.selectDecoder(data, parts); }
Codec codec = data.getCodec(); if (decodeInExecutor && !(codec instanceof StringCodec || codec instanceof ByteArrayCodec)) { if (decoderStatus.get() == Status.NORMAL) {