private ChunkKey endChunk(int typeCode) throws DhtException { ChunkFormatter w = openChunks[typeCode]; if (w == null) return null; openChunks[typeCode] = null; currChunk = null; if (w.isEmpty()) return null; ChunkKey key = w.end(chunkKeyDigest); ChunkInfo info = w.getChunkInfo(); if (chunkByOrder[typeCode] == null) chunkByOrder[typeCode] = new ArrayList<ChunkKey>(); chunkByOrder[typeCode].add(key); infoByKey.put(key, info); if (w.getChunkMeta() != null) chunkMeta.put(key, w.getChunkMeta()); Edges e = openEdges[typeCode]; if (e != null) { chunkEdges.put(key, e); openEdges[typeCode] = null; } if (currFragments == null) chunkReadBackCache.put(key, w.getPackChunk()); w.unsafePut(db, dbWriteBuffer); return key; }
private ChunkKey endChunk(int typeCode) throws DhtException { ChunkFormatter w = openChunks[typeCode]; if (w == null) return null; openChunks[typeCode] = null; currChunk = null; if (w.isEmpty()) return null; ChunkKey key = w.end(chunkKeyDigest); ChunkInfo info = w.getChunkInfo(); if (chunkByOrder[typeCode] == null) chunkByOrder[typeCode] = new ArrayList<ChunkKey>(); chunkByOrder[typeCode].add(key); infoByKey.put(key, info); if (w.getChunkMeta() != null) chunkMeta.put(key, w.getChunkMeta()); Edges e = openEdges[typeCode]; if (e != null) { chunkEdges.put(key, e); openEdges[typeCode] = null; } if (currFragments == null) chunkReadBackCache.put(key, w.getPackChunk()); w.unsafePut(db, dbWriteBuffer); return key; }
@Override public void flush() throws IOException { if (activeChunk != null && !activeChunk.isEmpty()) { activeChunk.end(digest()); activeChunk.safePut(db, dbBuffer()); activeChunk = null; } if (dbWriteBuffer != null) dbWriteBuffer.flush(); }
@Override public void flush() throws IOException { if (activeChunk != null && !activeChunk.isEmpty()) { activeChunk.end(digest()); activeChunk.safePut(db, dbBuffer()); activeChunk = null; } if (dbWriteBuffer != null) dbWriteBuffer.flush(); }
chunk.setObjectType(type); chunk.setFragment(); fragmentList.add(chunk.end(chunkDigest)); chunk.safePut(db, dbBuffer()); chunk = newChunk(); chunk.setObjectType(type); chunk.setFragment(); fragmentList.add(chunk.end(chunkDigest)); chunk.safePut(db, dbBuffer()); chunk = newChunk(); ChunkKey key = chunk.end(chunkDigest); chunk.setChunkIndex(Collections.singletonList(oe)); chunk.safePut(db, dbBuffer()); fragmentList.add(chunk.end(chunkDigest)); chunk.safePut(db, dbBuffer());
chunk.setObjectType(type); chunk.setFragment(); fragmentList.add(chunk.end(chunkDigest)); chunk.safePut(db, dbBuffer()); chunk = newChunk(); chunk.setObjectType(type); chunk.setFragment(); fragmentList.add(chunk.end(chunkDigest)); chunk.safePut(db, dbBuffer()); chunk = newChunk(); ChunkKey key = chunk.end(chunkDigest); chunk.setChunkIndex(Collections.singletonList(oe)); chunk.safePut(db, dbBuffer()); fragmentList.add(chunk.end(chunkDigest)); chunk.safePut(db, dbBuffer());
activeChunk.end(digest()); activeChunk.safePut(db, dbBuffer()); activeChunk = newChunk();
activeChunk.end(digest()); activeChunk.safePut(db, dbBuffer()); activeChunk = newChunk();