private void endFragmentedObject() throws DhtException { currChunk.setFragment(); ChunkKey lastKey = endChunk(typeOf(currChunkPtr)); if (lastKey != null) currFragments.add(lastKey); ChunkMeta.Builder protoBuilder = ChunkMeta.newBuilder(); for (ChunkKey key : currFragments) protoBuilder.addFragment(key.asString()); ChunkMeta protoMeta = protoBuilder.build(); for (ChunkKey key : currFragments) { ChunkMeta oldMeta = chunkMeta.get(key); if (oldMeta != null) { ChunkMeta.Builder newMeta = ChunkMeta.newBuilder(oldMeta); newMeta.clearFragment(); newMeta.mergeFrom(protoMeta); ChunkMeta meta = newMeta.build(); dirtyMeta.put(key, meta); chunkMeta.put(key, meta); } else { dirtyMeta.put(key, protoMeta); chunkMeta.put(key, protoMeta); } } currFragments = null; }
private void endFragmentedObject() throws DhtException { currChunk.setFragment(); ChunkKey lastKey = endChunk(typeOf(currChunkPtr)); if (lastKey != null) currFragments.add(lastKey); ChunkMeta.Builder protoBuilder = ChunkMeta.newBuilder(); for (ChunkKey key : currFragments) protoBuilder.addFragment(key.asString()); ChunkMeta protoMeta = protoBuilder.build(); for (ChunkKey key : currFragments) { ChunkMeta oldMeta = chunkMeta.get(key); if (oldMeta != null) { ChunkMeta.Builder newMeta = ChunkMeta.newBuilder(oldMeta); newMeta.clearFragment(); newMeta.mergeFrom(protoMeta); ChunkMeta meta = newMeta.build(); dirtyMeta.put(key, meta); chunkMeta.put(key, meta); } else { dirtyMeta.put(key, protoMeta); chunkMeta.put(key, protoMeta); } } currFragments = null; }
metaBuilder.addFragment(k.asString()); ChunkMeta meta = metaBuilder.build();
metaBuilder.addFragment(k.asString()); ChunkMeta meta = metaBuilder.build();