Skip to main content

froe/tooling/
mod.rs

1//! Read-only diagnostic tooling: consistency checking, revision
2//! differencing, node history, node search, segment dumps, and archive
3//! path attribution.
4//!
5//! These build on the reader and never modify the store. Each returns a
6//! structured result so a caller — the `froe` command line or another
7//! program — can render or process it. Traversal is bounded against
8//! cyclic corrupt records, matching the rest of the crate.
9
10pub mod archive_debug;
11pub mod check;
12pub mod diff;
13pub mod digest;
14pub mod history;
15pub mod output_directory;
16pub mod search;
17pub mod segment_dump;
18
19pub use archive_debug::{
20    ArchiveDebugError, ArchiveDebugGraph, ArchiveDebugOptions, ArchiveDebugReport,
21    ArchiveDebugResult, ArchiveDebugState, ArchiveDebugWork, ArchiveGraphOrigin,
22    ArchiveGraphReferences, ArchiveGraphRow, ArchivePathReference, ArchivePropertyDisplay,
23    DEFAULT_MAXIMUM_ARCHIVE_GRAPH_EDGES, DEFAULT_MAXIMUM_ARCHIVE_GRAPH_ROWS,
24    DEFAULT_MAXIMUM_ARCHIVE_NAME_BYTES_PER_NODE, DEFAULT_MAXIMUM_ARCHIVE_PATH_REFERENCES,
25    DEFAULT_MAXIMUM_ARCHIVE_PENDING_NODES, DEFAULT_MAXIMUM_ARCHIVE_REFERENCE_TEXT_BYTES,
26    DEFAULT_MAXIMUM_ARCHIVE_SCHEDULED_CHILDREN_PER_NODE, DEFAULT_MAXIMUM_ARCHIVE_WORK_UNITS,
27    debug_archive, debug_archive_with_options,
28};
29pub use check::{
30    BinaryCheck, ConsistencyReport, NodeTreeVerifier, PathVerdict, check_consistency,
31    check_consistency_with_progress, verify_node_tree,
32};
33pub(crate) use check::{DiscardedVerifiedContent, VerifiedContentObserver};
34pub use diff::{
35    NodeDifference, PropertyChange, diff_revisions, diff_revisions_visiting,
36    diff_revisions_with_progress,
37};
38pub use digest::{
39    DigestDifference, DigestSummary, compare_digests, digest_repository, parse_digest,
40};
41pub use history::{NodeHistoryEntry, node_history, node_history_with_progress};
42pub use search::{
43    NodeMatch, SearchQuery, search_nodes, search_nodes_visiting, search_nodes_with_progress,
44};
45pub use segment_dump::{dump_segment, dump_segment_bytes};