| package org.apache.hadoop.hdfs.server.namenode; |
| |
| import java.io.IOException; |
| import java.nio.ByteBuffer; |
| import java.util.Iterator; |
| import java.util.Map; |
| import java.util.NavigableMap; |
| |
| class MemDBChildrenView extends DBChildrenView { |
| private final NavigableMap<ByteBuffer, Long> childrenMap; |
| |
| MemDBChildrenView(NavigableMap<ByteBuffer, Long> childrenMap) { |
| this.childrenMap = childrenMap; |
| } |
| |
| private ByteBuffer start; |
| |
| @Override |
| public int size() { |
| return childrenMap.size(); |
| } |
| |
| @Override |
| public void seekTo(ByteBuffer start) { |
| this.start = start; |
| } |
| |
| @Override |
| public void close() throws IOException { |
| } |
| |
| @Override |
| public Iterator<Map.Entry<ByteBuffer, Long>> iterator() { |
| if (start == null) { |
| return childrenMap.entrySet().iterator(); |
| } else { |
| return childrenMap.tailMap(start).entrySet().iterator(); |
| } |
| } |
| } |