MemObjDatabase(DfsRepository repo) { super(repo, new DfsReaderOptions()); }
setDeltaBaseCacheLimit(rc.getInt( CONFIG_CORE_SECTION, CONFIG_DFS_SECTION, CONFIG_KEY_DELTA_BASE_CACHE_LIMIT, getDeltaBaseCacheLimit())); CONFIG_DFS_SECTION, CONFIG_KEY_STREAM_FILE_TRESHOLD, getStreamFileThreshold()); sft = Math.min(sft, maxMem / 4); // don't use more than 1/4 of the heap setStreamFileThreshold((int) sft); setStreamPackBufferSize(rc.getInt( CONFIG_CORE_SECTION, CONFIG_DFS_SECTION, CONFIG_KEY_STREAM_BUFFER, getStreamPackBufferSize())); return this;
/** * Create a default reader configuration. */ public DfsReaderOptions() { setDeltaBaseCacheLimit(10 * MiB); setStreamFileThreshold(PackConfig.DEFAULT_BIG_FILE_THRESHOLD); }
/** * Initialize a new DfsReader * * @param db * parent DfsObjDatabase. */ protected DfsReader(DfsObjDatabase db) { this.db = db; this.streamFileThreshold = db.getReaderOptions().getStreamFileThreshold(); }
@Override public void adviseSequentialRead(long start, long end) { int sz = ctx.getOptions().getStreamPackBufferSize(); if (sz > 0) { readAhead = (int) Math.min(sz, end - start); } }
DeltaBaseCache(DfsReader reader) { this(reader.getOptions().getDeltaBaseCacheLimit()); }
/** Create a default reader configuration. */ public DfsReaderOptions() { setDeltaBaseCacheLimit(10 * MiB); setStreamFileThreshold(PackConfig.DEFAULT_BIG_FILE_THRESHOLD); }
@Override public byte[] getCachedBytes() throws LargeObjectException { throw new LargeObjectException.ExceedsLimit( db.getReaderOptions().getStreamFileThreshold(), size); } }
try (ReadableChannel rc = ctx.db.openFile(desc, PACK)) { ByteBuffer buf = newCopyBuffer(out, rc); if (ctx.getOptions().getStreamPackBufferSize() > 0) rc.setReadAheadBytes(ctx.getOptions().getStreamPackBufferSize()); long position = 12; long remaining = length - (12 + 20);
DeltaBaseCache(DfsReader reader) { this(reader.getOptions().getDeltaBaseCacheLimit()); }
setDeltaBaseCacheLimit(rc.getInt( CONFIG_CORE_SECTION, CONFIG_DFS_SECTION, CONFIG_KEY_DELTA_BASE_CACHE_LIMIT, getDeltaBaseCacheLimit())); CONFIG_DFS_SECTION, CONFIG_KEY_STREAM_FILE_TRESHOLD, getStreamFileThreshold()); sft = Math.min(sft, maxMem / 4); // don't use more than 1/4 of the heap setStreamFileThreshold((int) sft); setStreamPackBufferSize(rc.getInt( CONFIG_CORE_SECTION, CONFIG_DFS_SECTION, CONFIG_KEY_STREAM_BUFFER, getStreamPackBufferSize())); return this;
/** * Create a default reader configuration. */ public DfsReaderOptions() { setDeltaBaseCacheLimit(10 * MiB); setStreamFileThreshold(PackConfig.DEFAULT_BIG_FILE_THRESHOLD); }
private byte[] insertBuffer(long len) { byte[] buf = buffer(); if (len <= buf.length) return buf; if (len < db.getReaderOptions().getStreamFileThreshold()) { try { return new byte[(int) len]; } catch (OutOfMemoryError noMem) { return buf; } } return buf; }
if (b == null) { rc = ctx.db.openFile(desc, PACK); int sz = ctx.getOptions().getStreamPackBufferSize(); if (sz > 0) { rc.setReadAheadBytes(sz);
/** {@inheritDoc} */ @Override public B setup() throws IllegalArgumentException, IOException { super.setup(); if (getReaderOptions() == null) setReaderOptions(new DfsReaderOptions()); if (getRepositoryDescription() == null) setRepositoryDescription(new DfsRepositoryDescription()); return self(); }
DeltaBaseCache(DfsReader reader) { this(reader.getOptions().getDeltaBaseCacheLimit()); }
setDeltaBaseCacheLimit(rc.getInt( CONFIG_CORE_SECTION, CONFIG_DFS_SECTION, CONFIG_KEY_DELTA_BASE_CACHE_LIMIT, getDeltaBaseCacheLimit())); CONFIG_DFS_SECTION, CONFIG_KEY_STREAM_FILE_TRESHOLD, getStreamFileThreshold()); sft = Math.min(sft, maxMem / 4); // don't use more than 1/4 of the heap setStreamFileThreshold((int) sft); setStreamPackBufferSize(rc.getInt( CONFIG_CORE_SECTION, CONFIG_DFS_SECTION, CONFIG_KEY_STREAM_BUFFER, getStreamPackBufferSize())); return this;
/** * Initialize a new DfsReader * * @param db * parent DfsObjDatabase. */ protected DfsReader(DfsObjDatabase db) { this.db = db; this.streamFileThreshold = db.getReaderOptions().getStreamFileThreshold(); }
@Override public void adviseSequentialRead(long start, long end) { int sz = ctx.getOptions().getStreamPackBufferSize(); if (sz > 0) { readAhead = (int) Math.min(sz, end - start); } }
MemObjDatabase(DfsRepository repo) { super(repo, new DfsReaderOptions()); }