@Override public boolean next() throws IOException { for (;;) { LogQueueEntry t = queue.poll(); if (t == null) { return false; } refName = t.lc.getRefName(); updateIndex = t.lc.getUpdateIndex(); entry = t.lc.getReflogEntry(); boolean include = includeDeletes || entry != null; skipShadowed(refName, updateIndex); add(t); if (include) { return true; } } }
@Override public boolean next() throws IOException { for (;;) { LogQueueEntry t = queue.poll(); if (t == null) { return false; } refName = t.lc.getRefName(); updateIndex = t.lc.getUpdateIndex(); entry = t.lc.getReflogEntry(); boolean include = includeDeletes || entry != null; skipShadowed(refName, updateIndex); add(t); if (include) { return true; } } }
private void skipShadowed(String name, long index) throws IOException { for (;;) { LogQueueEntry t = queue.peek(); if (t != null && name.equals(t.name()) && index == t.index()) { add(queue.remove()); } else { break; } } }
/** {@inheritDoc} */ @Override public LogCursor seekLog(String refName, long updateIdx) throws IOException { MergedLogCursor m = new MergedLogCursor(); for (int i = 0; i < tables.length; i++) { m.add(new LogQueueEntry(tables[i].seekLog(refName, updateIdx), i)); } return m; }
/** {@inheritDoc} */ @Override public LogCursor allLogs() throws IOException { MergedLogCursor m = new MergedLogCursor(); for (int i = 0; i < tables.length; i++) { m.add(new LogQueueEntry(tables[i].allLogs(), i)); } return m; }
/** {@inheritDoc} */ @Override public LogCursor allLogs() throws IOException { MergedLogCursor m = new MergedLogCursor(); for (int i = 0; i < tables.length; i++) { m.add(new LogQueueEntry(tables[i].allLogs(), i)); } return m; }
private void skipShadowed(String name, long index) throws IOException { for (;;) { LogQueueEntry t = queue.peek(); if (t != null && name.equals(t.name()) && index == t.index()) { add(queue.remove()); } else { break; } } }
/** {@inheritDoc} */ @Override public LogCursor seekLog(String refName, long updateIdx) throws IOException { MergedLogCursor m = new MergedLogCursor(); for (int i = 0; i < tables.length; i++) { m.add(new LogQueueEntry(tables[i].seekLog(refName, updateIdx), i)); } return m; }