Implement missing pubsub commands and fix indentation

This commit is contained in:
Marcos Nils
2014-02-01 20:13:56 -03:00
parent 3e99749b2e
commit 8bec9fd373
6 changed files with 197 additions and 12 deletions

View File

@@ -1,6 +1,6 @@
package redis.clients.jedis;
import redis.clients.util.SafeEncoder;
import static redis.clients.jedis.Protocol.toByteArray;
import java.util.ArrayList;
import java.util.HashMap;
@@ -8,8 +8,7 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import static redis.clients.jedis.Protocol.toByteArray;
import static redis.clients.jedis.Protocol.Command.HSCAN;
import redis.clients.util.SafeEncoder;
public class Client extends BinaryClient implements Commands {
public Client(final String host) {
@@ -671,6 +670,18 @@ public class Client extends BinaryClient implements Commands {
}
subscribe(cs);
}
public void pubSubChannels(String pattern) {
pubSub(Protocol.PUBSUB_CHANNELS, pattern);
}
public void pubSubNumPat() {
pubSub(Protocol.PUBSUB_NUM_PAT);
}
public void pubSubNumSub(String... channels) {
pubSub(Protocol.PUBSUB_NUMSUB, channels);
}
public void configSet(String parameter, String value) {
configSet(SafeEncoder.encode(parameter), SafeEncoder.encode(value));
@@ -831,6 +842,15 @@ public class Client extends BinaryClient implements Commands {
arg[0] = SafeEncoder.encode(subcommand);
cluster(arg);
}
public void pubSub(final String subcommand, final String... args) {
final byte[][] arg = new byte[args.length+1][];
for (int i = 1; i < arg.length; i++) {
arg[i] = SafeEncoder.encode(args[i-1]);
}
arg[0] = SafeEncoder.encode(subcommand);
pubSub(arg);
}
public void cluster(final String subcommand, final String... args) {
final byte[][] arg = new byte[args.length+1][];