github
cargo doc --open
to generate automatic documentation
File name
File content
src/daemon.rs
Daemon that executing commands from the client
src/client.rs
Console client that sending commands to the daemon
src/lib.rs
Contains libraries, constants and user data structures
User documentation, client commands
Command
What does this command do
scan
Scans the network for files that can be downloaded
ls
Show files that can be downloaded
status
Show distributed files
share "file_path\file.dat"
Share a file with a network
download "save_path" -f FileName
Download a downloadable file (path is optional)
Data type
What is it
enum Command
A command that is serialized in the client and sent to the daemon
enum Answer
The response to the command is serialized in the daemon and sent to the client
enum FileSizeorInfo
Stores an action downloadable peer want to do
enum EnumAnswer
If downloadable peer asked file size we answering with size or file not exist
struct DataTemp
Contain 2 HashMap: of available for transfer and download files
struct TransferGuard
Adding peer to transferring vector when created, and removing peer from vector while destroying
struct FirstRequest
Serialized request from daemon which want to get file size or start download a file
struct FileInfo
Store which blocks downloadable
struct AnswerToFirstRequest
Stores filename and answer to size request