pub(crate) const MAX_DIRECTORY_PARENT_DEPTH: usize = 1024;
mod descriptor_path;
mod keys;
mod path_index;
mod persistent_map;
mod planner;
mod read;
mod visibility;
pub(crate) use self::descriptor_path::{DirectoryPathRecord, derive_directory_paths};
pub(crate) use self::path_index::{
FilesystemPathEntry, FilesystemPathIndex, FilesystemPathIndexCache, FilesystemPathIndexReader,
FilesystemPathIndexRequest, FilesystemPathKind, FilesystemPathSelection,
UncachedFilesystemPathIndexReader, build_path_index, load_path_index_revision,
stage_path_index_revision,
};
#[cfg(test)]
pub(crate) use self::path_index::{
full_rebuild_stats, path_index_cache_stats, reset_full_rebuild_stats,
};
pub(crate) use self::persistent_map::{PersistentMap, PersistentMapRangeCursor};
pub(crate) use self::planner::directory_path_resolvers_from_state_batch;
pub(crate) use self::planner::{
BlobRefRowInput, DirectoryDescriptorWriteIntent, DirectoryPathResolver, FileDeleteInput,
FileDescriptorWriteInput, FileDescriptorWriteIntent, FilesystemBlobRefKey,
FilesystemDeletePlan, FilesystemDescriptorKey, FilesystemRowContext, FilesystemWritePlan,
append_blob_ref_tombstone_row, create_directory_path_with_leaf_id_with_resolvers,
directory_path_resolvers_for_paths, directory_path_resolvers_from_hot_state,
directory_path_resolvers_from_path_index, filesystem_storage_scope_key, plan_file_delete,
plan_file_descriptor_write, plan_parsed_directory_path_update_with_resolvers,
plan_parsed_file_path_update_with_resolvers, plan_parsed_file_path_write_with_resolvers,
plan_recursive_directory_delete,
};
pub(crate) use self::read::{
FilesystemIndex, collect_gc_binary_blob_roots, filesystem_schema_keys,
};
pub(crate) use self::visibility::VisibleFilesystem;