AssertExtensions.assertThrows( "addChunks allowed an incontiguous list of SegmentChunks to be added.", () -> h.addChunks(firstBadList), ex -> ex instanceof IllegalArgumentException); Assert.assertEquals("Not expecting any SegmentChunks to be added.", 0, h.chunks().size()); validList.get(0).setLength(10); validList.get(1).setLength(5); h.addChunks(validList); AssertExtensions.assertListEquals("Unexpected list of SegmentChunks.", validList, h.chunks(), Object::equals); Assert.assertEquals("Unexpected length.", 15, h.length()); AssertExtensions.assertThrows( "addChunks allowed an incontiguous list of SegmentChunks to be added.", () -> h.addChunks(secondBadList), ex -> ex instanceof IllegalArgumentException);
source.addChunks(concatHandle.chunks().stream() .map(s -> s.withNewOffset(s.getStartOffset() + source.length())).collect(Collectors.toList())); val chunk = new SegmentChunk(StreamSegmentNameUtils.getSegmentChunkName(source.getSegmentName(), source.length()), source.length()); chunk.setLength(i + 1); source.addChunks(Collections.singletonList(chunk)); os.write(HandleSerializer.serializeChunk(chunk));
this.baseStorage.concat(target.getHeaderHandle(), target.getHeaderLength(), source.getHeaderHandle().getSegmentName()); target.increaseHeaderLength(source.getHeaderLength()); target.addChunks(newSegmentChunks);