Buffer extends Limbo implements InventoryTracker { public static Iterator<Write> onDiskIterator(String location) { return new OnDiskIterator(location); } Buffer();  Buffer(String directory); static Iterator<Write> onDiskIterator(String location); @Override Map<Long, String> audit(long record); @Override Map<Long, String> audit(String key, long record); @Override Map<TObject, Set<Long>> browse(String key, long timestamp,
            Map<TObject, Set<Long>> context); @Override Map<Long, Set<TObject>> chronologize(String key, long record,
            long start, long end, Map<Long, Set<TObject>> context); @Override boolean contains(long record); @Override Set<String> describe(long record, long timestamp,
            Map<String, Set<TObject>> context); String dump(); @Override Map<Long, Set<TObject>> explore(Map<Long, Set<TObject>> context,
            long timestamp, String key, Operator operator, TObject... values); @Override Set<Long> getAllRecords(); @Restricted String getBackingStore(); @Override int getDesiredTransportSleepTimeInMs(); @Override Inventory getInventory(); @Restricted long getTimeOfLastTransport(); @Override boolean insert(Write write, boolean sync); @Override Iterator<Write> iterator(); @Override Map<String, Set<TObject>> select(long record, long timestamp,
            Map<String, Set<TObject>> context); @Override Set<TObject> select(String key, long record, long timestamp,
            Set<TObject> context); void setEnvironment(String environment); @Restricted void setInventory(Inventory inventory); @Restricted void setThreadNamePrefix(String threadNamePrefix); @Override void start(); @Override void stop(); @Override void sync(); @Override void transport(PermanentStore destination, boolean sync); @Override boolean verify(Write write, long timestamp, boolean exists); @Override TernaryTruth verifyFast(Write write, long timestamp); @Override void waitUntilTransportable();  }
@Test @Ignore public void testOnDiskIterator() { Buffer buffer = (Buffer) store; int count = TestData.getScaleCount(); List<Write> expected = Lists.newArrayList(); for (int i = 0; i < count; ++i) { Write write = Write.add(TestData.getSimpleString(), TestData.getTObject(), i); buffer.insert(write); expected.add(write); Variables.register("expected_" + i, write); } buffer.stop(); Iterator<Write> it = Buffer.onDiskIterator(buffer.getBackingStore()); List<Write> stored = Lists.newArrayList(); int i = 0; while (it.hasNext()) { Write write = it.next(); stored.add(write); Variables.register("actual_" + i, write); ++i; } Assert.assertEquals(expected, stored); }