public MergedIterator(SerializedComparator comparator, Collection<TrackedReference<SortedOplogReader>> soplogs, List<SortedIterator<ByteBuffer>> iters) { this.comparator = comparator; this.soplogs = soplogs; this.iters = iters; // initialize iteration positions for (Iterator<SortedIterator<ByteBuffer>> merge = iters.iterator(); merge.hasNext(); ) { SortedIterator<ByteBuffer> si = merge.next(); if (si.hasNext()) { si.next(); } else { merge.remove(); } } }
private void doIter(SortedIterator<ByteBuffer> scan, Iterator<Entry<byte[], byte[]>> iter) { while (scan.hasNext() || iter.hasNext()) { Entry<byte[], byte[]> expected = iter.next(); assertEquals(expected.getKey(), scan.next()); assertEquals(expected.getValue(), scan.value()); } }
private void validate(SortedOplogReader soplog, int start, int count) throws IOException { int i = 0; for (SortedIterator<ByteBuffer> iter = soplog.scan(); iter.hasNext(); i++) { iter.next(); assertEquals(i, iter.key().getInt()); assertEquals(i, iter.value().getInt()); } assertEquals(count, i); } }
SortedIterator<ByteBuffer> iter = sos.scan(); try { while (iter.hasNext()) { ByteBuffer key = iter.next(); ByteBuffer val = iter.value();
protected void validateEmpty(SortedOplogSet sos) throws IOException { assertEquals(0, sos.bufferSize()); assertEquals(0, sos.unflushedSize()); SortedIterator<ByteBuffer> iter = sos.scan(); assertFalse(iter.hasNext()); iter.close(); sos.close(); }
public void testScanAfterClear() throws IOException { SortedIterator<ByteBuffer> iter = set.scan(); set.clear(); assertFalse(iter.hasNext()); }
private void validate(SortedReader<ByteBuffer> range, int count) throws IOException { int i = 0; for (SortedIterator<ByteBuffer> iter = range.scan(); iter.hasNext(); i++) { iter.next(); assertEquals(i, iter.key().getInt()); } assertEquals(count, i); range.close(); }
public void testScanAfterClose() throws IOException { SortedIterator<ByteBuffer> iter = set.scan(); set.close(); assertFalse(iter.hasNext()); }
private boolean advance(SortedIterator<ByteBuffer> iter) { if (iter.hasNext()) { iter.next(); return true; } return false; }