96455a9558
Motivation: - To encode/decode RESP (REdis Serialization Protocol) using Netty - http://redis.io/topics/protocol Modifications: - Add RedisEncoder, RedisDecoder - Add RedisBulkStringAggregator and RedisArrayAggregator - Add tests Result: - Added codec-redis - codec-redis can encode/decode RESP (REdis Serialization Protocol)
56 lines
1.7 KiB
Java
56 lines
1.7 KiB
Java
/*
|
|
* Copyright 2016 The Netty Project
|
|
*
|
|
* The Netty Project licenses this file to you under the Apache License, version 2.0 (the
|
|
* "License"); you may not use this file except in compliance with the License. You may obtain a
|
|
* copy of the License at:
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
|
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
|
* or implied. See the License for the specific language governing permissions and limitations under
|
|
* the License.
|
|
*/
|
|
|
|
package io.netty.handler.codec.redis;
|
|
|
|
import io.netty.util.CharsetUtil;
|
|
import io.netty.util.internal.PlatformDependent;
|
|
|
|
/**
|
|
* Utilities for codec-redis.
|
|
*/
|
|
final class RedisCodecUtil {
|
|
|
|
private RedisCodecUtil() {
|
|
}
|
|
|
|
static byte[] longToAsciiBytes(long value) {
|
|
return Long.toString(value).getBytes(CharsetUtil.US_ASCII);
|
|
}
|
|
|
|
/**
|
|
* Returns a {@code short} value using endian order.
|
|
*/
|
|
static short makeShort(char first, char second) {
|
|
return PlatformDependent.BIG_ENDIAN_NATIVE_ORDER ?
|
|
(short) ((second << 8) | first) : (short) ((first << 8) | second);
|
|
}
|
|
|
|
/**
|
|
* Returns a {@code byte[]} of {@code short} value. This is opposite of {@code makeShort()}.
|
|
*/
|
|
static byte[] shortToBytes(short value) {
|
|
byte[] bytes = new byte[2];
|
|
if (PlatformDependent.BIG_ENDIAN_NATIVE_ORDER) {
|
|
bytes[1] = (byte) ((value >> 8) & 0xff);
|
|
bytes[0] = (byte) (value & 0xff);
|
|
} else {
|
|
bytes[0] = (byte) ((value >> 8) & 0xff);
|
|
bytes[1] = (byte) (value & 0xff);
|
|
}
|
|
return bytes;
|
|
}
|
|
}
|