diff --git a/src/main/java/redis/clients/jedis/Client.java b/src/main/java/redis/clients/jedis/Client.java index 48551d9..fb35c10 100644 --- a/src/main/java/redis/clients/jedis/Client.java +++ b/src/main/java/redis/clients/jedis/Client.java @@ -1,12 +1,12 @@ package redis.clients.jedis; -import static redis.clients.jedis.Protocol.toByteArray; +import redis.clients.util.SafeEncoder; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; -import redis.clients.util.SafeEncoder; +import static redis.clients.jedis.Protocol.toByteArray; public class Client extends BinaryClient implements Commands { public Client(final String host) { @@ -537,7 +537,7 @@ public class Client extends BinaryClient implements Commands { } public void setbit(final String key, final long offset, final boolean value) { - setbit(SafeEncoder.encode(key), offset, toByteArray(value ? 0 : 1)); + setbit(SafeEncoder.encode(key), offset, toByteArray(value ? 1 : 0)); } public void getbit(String key, long offset) { diff --git a/src/main/java/redis/clients/jedis/ShardedJedisPipeline.java b/src/main/java/redis/clients/jedis/ShardedJedisPipeline.java index ad57c0f..544ce73 100644 --- a/src/main/java/redis/clients/jedis/ShardedJedisPipeline.java +++ b/src/main/java/redis/clients/jedis/ShardedJedisPipeline.java @@ -1,11 +1,11 @@ package redis.clients.jedis; +import redis.clients.jedis.BinaryClient.LIST_POSITION; + import java.util.ArrayList; import java.util.List; import java.util.Map; -import redis.clients.jedis.BinaryClient.LIST_POSITION; - public abstract class ShardedJedisPipeline { private BinaryShardedJedis jedis; private List results = new ArrayList(); @@ -425,6 +425,30 @@ public abstract class ShardedJedisPipeline { results.add(new FutureResult(c)); } + protected void getbit(String key, long offset) { + Client c = jedis.getShard(key).getClient(); + c.getbit(key, offset); + results.add(new FutureResult(c)); + } + + public void setbit(String key, long offset, boolean value) { + Client c = jedis.getShard(key).getClient(); + c.setbit(key, offset, value); + results.add(new FutureResult(c)); + } + + public void setrange(String key, long offset, String value) { + Client c = jedis.getShard(key).getClient(); + c.setrange(key, offset, value); + results.add(new FutureResult(c)); + } + + public void getrange(String key, long startOffset, long endOffset) { + Client c = jedis.getShard(key).getClient(); + c.getrange(key, startOffset, endOffset); + results.add(new FutureResult(c)); + } + public List getResults() { List r = new ArrayList(); for (FutureResult fr : results) { diff --git a/src/test/java/redis/clients/jedis/tests/commands/BitCommandsTest.java b/src/test/java/redis/clients/jedis/tests/commands/BitCommandsTest.java index 119fc8b..204caa8 100644 --- a/src/test/java/redis/clients/jedis/tests/commands/BitCommandsTest.java +++ b/src/test/java/redis/clients/jedis/tests/commands/BitCommandsTest.java @@ -9,7 +9,7 @@ public class BitCommandsTest extends JedisCommandTestBase { assertEquals(false, bit); bit = jedis.getbit("foo", 0); - assertEquals(false, bit); + assertEquals(true, bit); long bbit = jedis.setbit("bfoo".getBytes(), 0, "1".getBytes()); assertEquals(0, bbit);