PackBitmapIndex idx = idxref.get(); if (idx != null) return idx; idxref = bitmapIndex; if (idxref != null) { PackBitmapIndex idx = idxref.get(); if (idx != null) return idx; idxref = cache.getRef(bitmapKey); if (idxref != null) { PackBitmapIndex idx = idxref.get(); if (idx != null) { bitmapIndex = idxref;
private PackIndex idx(DfsReader ctx) throws IOException { DfsBlockCache.Ref<PackIndex> idxref = index; if (idxref != null) { PackIndex idx = idxref.get(); if (idx != null) return idx; idxref = index; if (idxref != null) { PackIndex idx = idxref.get(); if (idx != null) return idx; idxref = cache.getRef(idxKey); if (idxref != null) { PackIndex idx = idxref.get(); if (idx != null) { index = idxref;
private PackIndex idx(DfsReader ctx) throws IOException { DfsBlockCache.Ref<PackIndex> idxref = index; if (idxref != null) { PackIndex idx = idxref.get(); if (idx != null) return idx; idxref = index; if (idxref != null) { PackIndex idx = idxref.get(); if (idx != null) return idx; idxref = cache.getRef(idxKey); if (idxref != null) { PackIndex idx = idxref.get(); if (idx != null) { index = idxref;
PackBitmapIndex idx = idxref.get(); if (idx != null) return idx; idxref = bitmapIndex; if (idxref != null) { PackBitmapIndex idx = idxref.get(); if (idx != null) return idx; idxref = cache.getRef(bitmapKey); if (idxref != null) { PackBitmapIndex idx = idxref.get(); if (idx != null) { bitmapIndex = idxref;
PackReverseIndex getReverseIdx(DfsReader ctx) throws IOException { DfsBlockCache.Ref<PackReverseIndex> revref = reverseIndex; if (revref != null) { PackReverseIndex revidx = revref.get(); if (revidx != null) return revidx; revref = reverseIndex; if (revref != null) { PackReverseIndex revidx = revref.get(); if (revidx != null) return revidx; revref = cache.getRef(revKey); if (revref != null) { PackReverseIndex idx = revref.get(); if (idx != null) { reverseIndex = revref;
PackReverseIndex getReverseIdx(DfsReader ctx) throws IOException { DfsBlockCache.Ref<PackReverseIndex> revref = reverseIndex; if (revref != null) { PackReverseIndex revidx = revref.get(); if (revidx != null) return revidx; } synchronized (initLock) { revref = reverseIndex; if (revref != null) { PackReverseIndex revidx = revref.get(); if (revidx != null) return revidx; } PackIndex idx = idx(ctx); PackReverseIndex revidx = new PackReverseIndex(idx); int sz = (int) Math.min( idx.getObjectCount() * 8, Integer.MAX_VALUE); reverseIndex = cache.put(key, POS_REVERSE_INDEX, sz, revidx); return revidx; } }
private <T> T scan(HashEntry n, DfsPackKey pack, long position) { Ref<T> r = scanRef(n, pack, position); return r != null ? r.get() : null; }
private <T> T scan(HashEntry n, DfsStreamKey key, long position) { Ref<T> r = scanRef(n, key, position); return r != null ? r.get() : null; }
@SuppressWarnings("unchecked") private <T> Ref<T> scanRef(HashEntry n, DfsStreamKey key, long position) { for (; n != null; n = n.next) { Ref<T> r = n.ref; if (r.position == position && r.key.equals(key)) return r.get() != null ? r : null; } return null; }
@SuppressWarnings("unchecked") private <T> Ref<T> scanRef(HashEntry n, DfsPackKey pack, long position) { for (; n != null; n = n.next) { Ref<T> r = n.ref; if (r.pack == pack && r.position == position) return r.get() != null ? r : null; } return null; }
PackReverseIndex getReverseIdx(DfsReader ctx) throws IOException { DfsBlockCache.Ref<PackReverseIndex> revref = reverseIndex; if (revref != null) { PackReverseIndex revidx = revref.get(); if (revidx != null) return revidx; revref = reverseIndex; if (revref != null) { PackReverseIndex revidx = revref.get(); if (revidx != null) return revidx; revref = cache.getRef(revKey); if (revref != null) { PackReverseIndex idx = revref.get(); if (idx != null) { reverseIndex = revref;
private <T> T scan(HashEntry n, DfsStreamKey key, long position) { Ref<T> r = scanRef(n, key, position); return r != null ? r.get() : null; }
@SuppressWarnings("unchecked") private <T> Ref<T> scanRef(HashEntry n, DfsStreamKey key, long position) { for (; n != null; n = n.next) { Ref<T> r = n.ref; if (r.position == position && r.key.equals(key)) return r.get() != null ? r : null; } return null; }