1extern crate core;
2
3pub use arrow;
6
7pub use blake3;
14
15#[cfg(feature = "testmatrix")]
27#[inline]
28pub(crate) fn functional_status(component: &str, check: &str, ok: bool, detail: &str) {
29 nornir_testmatrix::functional_status(component, check, ok, detail);
30}
31
32pub mod codec;
33pub mod common_config;
34pub mod hostinfo;
38pub mod index;
39pub mod precompressed;
43pub mod archive;
44pub mod meta_sink;
45pub mod meta_sink_append;
46pub mod meta_index;
50
51pub mod slotpool;
52
53pub mod meta;
54pub use meta::{BlobMeta, ChunkMeta, FileMeta};
55
56#[cfg(feature = "sign")]
59pub mod sign;
60
61pub mod plugin;
62pub mod plugins;
63pub mod views;
64
65pub mod decompress;
66
67pub mod hot;
69
70pub use meta_sink_append::{
71 compact_archive, read_delta_map, supersede_as_delta, CompactReport, SupersedeOutcome,
72 MAX_GENERATION_CHAIN,
73};
74pub use archive::{
75 BaseResolve, ChunkSplitter, DeltaSplitter, Entry, ReconstructCtx, RegionDeltaSplitter,
76 Splitter, StoredUnit, UnitPayload, ZnippyArchive, ZnippyReader,
77};
78pub use views::{
79 CondaPackage, CondaView, GemPackage, GemView, MavenPackage, MavenView, NpmPackage, NpmView,
80 PythonKind, PythonPackage, PythonView, RustPackage, RustView, CONDA_PKG_TYPE, GEM_PKG_TYPE,
81 MAVEN_PKG_TYPE, NPM_PKG_TYPE, PYTHON_PKG_TYPE, RUST_PKG_TYPE,
82};
83pub use decompress::{decompress_archive, decompress_archive_filtered, get_file};
84pub use meta_sink::{
85 ArchiveMetaSink, ArrowIpcSink, GroupKey, LookupView, MetaSinkFactory, ReservedPayload,
86 ReservedSection, ReservedSectionBuilder,
87};
88pub use hot::{HotAppendReport, HotArchive, HotSealReport, seal_hot};
89pub use meta_sink_append::{
90 append_files_with_policy,
91 AppendReport, ArrowIpcSinkAppend, append_files, append_files_with_meta, base_batch_from_rows,
92 create_archive, create_archive_to_vec, create_archive_with_meta,
93};
94pub use meta_index::{
98 ArchiveMeta, MetaEntry, MetaIndex, MetaSearch, MetaTable, MetaValue, read_archive_meta,
99};
100
101pub use precompressed::{ContentHint, SkipPolicy, SNIFF_PREFIX_LEN, is_zlib_stream, looks_compressed};
102
103pub use index::{
104 ArchiveReader,
105 ArtifactMeta, ChunkLoc, IndexFilter, VerifyReport, ZNIPPY_INDEX_SCHEMA,
106 MULTI_INDEX_MAGIC, ManifestEntry, IndexFooter,
107 META_MODULE, build_arrow_metadata_for_config, build_metadata_batch, data_subindex_schema,
108 extract_config_from_arrow_metadata, get_all_files_meta, get_files_meta_with_prefix,
109 interpret_footer,
110 is_probably_compressed, is_reserved_module, list_archive_contents, locate_file,
111 read_manifest_bytes, read_reserved_section_bytes, read_znippy_full_manifest, read_znippy_index,
112 read_znippy_index_filtered, read_znippy_manifest,
113 should_skip_compression, verify_archive_integrity, write_manifest_bytes,
114 znippy_index_schema, SIGN_ARCHIVE_MODULE, SIGN_ARTIFACTS_MODULE,
115 GUNNAR_GRAPH_MODULE, GUNNAR_OID_MODULE, GUNNAR_REACH_MODULE, GUNNAR_REFS_MODULE,
116 GUNNAR_SECRETS_MODULE, LOOKUP_MODULE,
117 RESERVED_MODULES, RESERVED_PKG_TYPE, TRIE_MODULE, lookup_schema,
118};
119
120#[derive(Debug)]
121pub struct CompressionReport {
122 pub total_files: u64,
123 pub compressed_files: u64,
124 pub uncompressed_files: u64,
125 pub total_dirs: u64,
126 pub total_bytes_in: u64,
127 pub total_bytes_out: u64,
128 pub compressed_bytes: u64,
129 pub uncompressed_bytes: u64,
130 pub compression_ratio: f32,
131 pub chunks: u64,
132 pub files_failed: u64,
137}