Merge branch 'master' of github.com:mrniko/redisson

pull/115/merge
Nikita 10 years ago
commit bc0b847822

@ -130,8 +130,8 @@ public class RedissonBlockingQueue<V> extends RedissonQueue<V> implements RBlock
return Collections.emptyList(); return Collections.emptyList();
} }
conn.multi(); conn.multi();
conn.lrange(getName(), 0, len); conn.lrange(getName(), 0, len - 1);
conn.ltrim(getName(), 0, len); conn.ltrim(getName(), len, -1);
List<Object> res = conn.exec(); List<Object> res = conn.exec();
if (res.size() == 2) { if (res.size() == 2) {
List<V> items = (List<V>) res.get(0); List<V> items = (List<V>) res.get(0);

@ -101,6 +101,24 @@ public class RedissonBlockingQueueTest extends BaseTest {
queue.remove(); queue.remove();
} }
@Test
public void testDrainTo() {
RBlockingQueue<Integer> queue = redisson.getBlockingQueue("queue");
for (int i = 0 ; i < 100; i++) {
queue.offer(i);
}
Assert.assertEquals(100, queue.size());
Set<Integer> batch = new HashSet<Integer>();
int count = queue.drainTo(batch, 10);
Assert.assertEquals(10, count);
Assert.assertEquals(10, batch.size());
Assert.assertEquals(90, queue.size());
queue.drainTo(batch, 10);
queue.drainTo(batch, 20);
queue.drainTo(batch, 60);
Assert.assertEquals(0, queue.size());
}
@Test @Test
public void testBlockingQueue() { public void testBlockingQueue() {

Loading…
Cancel
Save