Skip to main content

split_tar_bytes

Function split_tar_bytes 

Source
pub fn split_tar_bytes(
    parent: Exchange,
    bytes: Bytes,
    config: TarSplitConfig,
) -> Pin<Box<dyn Stream<Item = Result<Exchange, CamelError>> + Send>>
Expand description

Split a TAR archive’s materialized bytes into a stream of Exchanges, one per regular-file entry in header order.

Takes owned Bytes (for 'static lifetime), a parent Exchange whose headers and properties are cloned into each entry’s exchange, and a TarSplitConfig controlling limits and policy. Entries are read sequentially from the in-memory archive: names are validated before any body is read, directories/symlinks/hard links/devices are skipped (link targets are never read), and each regular body is materialized through a bounded take(max_per_entry_size + 1) read so an oversized entry is rejected before its bytes are retained.