/** * Find the smallest Block index whose starting offset is greater than or * equal to the specified offset. * * @param offset * User-specific offset. * @return the index to the data Block if such block exists; or -1 * otherwise. */ public int getBlockIndexNear(long offset) { ArrayList<BlockRegion> list = dataIndex.getBlockRegionList(); int idx = Utils .lowerBound(list, new ScalarLong(offset), new ScalarComparator()); if (idx == list.size()) { return -1; } return idx; }