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