From 590259c4730e033c6f1fb6df03e44d79f2497416 Mon Sep 17 00:00:00 2001 From: xpecya Date: Tue, 24 May 2022 20:10:17 +0800 Subject: [PATCH] new encode function --- .../vertx/redis/client/impl/RequestImpl.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/main/java/io/vertx/redis/client/impl/RequestImpl.java b/src/main/java/io/vertx/redis/client/impl/RequestImpl.java index cead22dc..d9843594 100644 --- a/src/main/java/io/vertx/redis/client/impl/RequestImpl.java +++ b/src/main/java/io/vertx/redis/client/impl/RequestImpl.java @@ -149,6 +149,40 @@ Buffer encode() { return encode(Buffer.buffer()); } + Buffer encode(String[] args) { + Buffer buffer = Buffer.buffer(); + + buffer + // array header + .appendByte((byte) '*') + .appendBytes(numToBytes(args.length + 1)) + .appendBytes(EOL) + // command + .appendBytes(cmd.getBytes()); + + for (final String arg : args) { + if (arg == null) { + buffer.appendBytes(NULL_BULK); + continue; + } + + if (arg.length() == 0) { + buffer.appendBytes(EMPTY_BULK); + continue; + } + + byte[] bytes = arg.getBytes(StandardCharsets.UTF_8); + buffer + .appendByte((byte) '$') + .appendBytes(numToBytes(bytes.length)) + .appendBytes(EOL) + .appendBytes(bytes) + .appendBytes(EOL); + } + + return buffer; + } + Buffer encode(Buffer buffer) { buffer // array header