fs_share_utils/lib.rs
1//! # fs-share-utils
2//!
3//! Utility library for the `fs-share` project, providing reusable building blocks
4//! for peer discovery, networking, file transfer, and progress tracking.
5//!
6//! This crate is designed to be lightweight, cross-platform, and suitable for
7//! CLI-based file sharing over LAN.
8//!
9//!
10//! ## Modules
11//!
12//! ### [`broadcast`]
13//! Provides UDP broadcast utilities for peer discovery.
14//! Used to announce and detect available senders/receivers on the network.
15//!
16//! ### [`ip`]
17//! Utilities for working with network interfaces and IP addresses.
18//! Includes platform-specific implementations (Linux, Windows, Android).
19//!
20//! ### [`pb`]
21//! Progress bar utilities.
22//! Abstracts progress reporting (can be enabled/disabled depending on CLI flags).
23//!
24//! ### [`receiver`]
25//! Core logic for receiving files over TCP.
26//! Handles incoming streams, parsing metadata, and saving files.
27//!
28//! ### [`sender`]
29//! Core logic for sending files over TCP.
30//! Responsible for encoding metadata and streaming file contents.
31//!
32pub mod broadcast;
33pub mod ip;
34pub mod pb;
35pub mod receiver;
36pub mod sender;
37pub(crate) mod tf;