
io.lettuce.core.protocol.ByteBufferCopyCodec Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lettuce-core Show documentation
Show all versions of lettuce-core Show documentation
Advanced and thread-safe Java Redis client for synchronous, asynchronous, and
reactive usage. Supports Cluster, Sentinel, Pipelining, Auto-Reconnect, Codecs
and much more.
The newest version!
package io.lettuce.core.protocol;
import java.nio.ByteBuffer;
import io.lettuce.core.codec.RedisCodec;
/**
* {@link RedisCodec} that leaves response data as {@link ByteBuffer} by copying buffers.
*
* @author Mark Paluch
*/
enum ByteBufferCopyCodec implements RedisCodec {
INSTANCE;
@Override
public ByteBuffer decodeKey(ByteBuffer bytes) {
return copy(bytes);
}
@Override
public ByteBuffer decodeValue(ByteBuffer bytes) {
return copy(bytes);
}
@Override
public ByteBuffer encodeKey(ByteBuffer key) {
return copy(key);
}
@Override
public ByteBuffer encodeValue(ByteBuffer value) {
return copy(value);
}
private static ByteBuffer copy(ByteBuffer source) {
ByteBuffer copy = ByteBuffer.allocate(source.remaining());
copy.put(source);
copy.flip();
return copy;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy