
redis.netty.BulkReply Maven / Gradle / Ivy
package redis.netty;
import com.google.common.base.Charsets;
import java.io.IOException;
import java.nio.charset.Charset;
import org.jboss.netty.buffer.ChannelBuffer;
import redis.util.Encoding;
import static redis.util.Encoding.numToBytes;
public class BulkReply implements Reply {
public static final char MARKER = '$';
private final ChannelBuffer bytes;
public BulkReply(ChannelBuffer bytes) {
this.bytes = bytes;
}
@Override
public ChannelBuffer data() {
return bytes;
}
public String asAsciiString() {
if (bytes == null) return null;
return bytes.toString(Charsets.US_ASCII);
}
public String asUTF8String() {
if (bytes == null) return null;
return bytes.toString(Charsets.UTF_8);
}
public String asString(Charset charset) {
if (bytes == null) return null;
return bytes.toString(charset);
}
@Override
public void write(ChannelBuffer os) throws IOException {
os.writeByte(MARKER);
os.writeBytes(numToBytes(bytes.capacity(), true));
os.writeBytes(bytes);
os.writeBytes(CRLF);
}
public String toString() {
return asUTF8String();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy