Releases: Bicheka/file-transfer-system
Releases · Bicheka/file-transfer-system
v0.2.3
v0.2.3
What's New
- Client Module Enhancements:
- Added a new
download
function in the client module, allowing the client to receive files over an established connection. - Improved documentation for client module functions, detailing usage and functionality.
- Added a new
Changes
- Request Upload Update:
- Simplified the
Request::Upload
structure by removingPathType
as a required field. The file transfer protocol now determines the path type, improving clarity and flexibility.
- Simplified the
- Connection Management:
- Updated the client to store the TCP connection in an
Arc<Mutex<Option<TcpStream>>>
to enable safe concurrent access across async contexts. - Modified
send_request
function to accept aRequest
object, streamlining request handling.
- Updated the client to store the TCP connection in an
Bug Fixes
- Resolved Client
dyn Error
Handling:- Switched to
anyhow::Error
for more flexible error handling in the client, addressing issues withdyn Error
.
- Switched to
- Server Shutdown Signal:
- Made the stop signal public and created a new
stop_server
function, enabling cleaner shutdown management.
- Made the stop signal public and created a new
This release includes fixes for issues raised in #54 and enhances the client’s transfer capabilities.
Contributors
- Bicheka
v0.2.2
Features
- Added support for file upload and download functionalities.
- Introduced directory transfer capabilities, allowing users to send entire directories along with their contents.
- Implemented error handling for various file transfer operations to improve robustness.
Improvements
- Enhanced connection handling with support for graceful shutdown functionality.
- Integrated local and public IP address retrieval to simplify network configuration.
- Implemented UPnP for NAT traversal, facilitating peer-to-peer connectivity.
Usage
To include this library in your Rust projects, add the following to your Cargo.toml
:
[dependencies]
file-transfer-system = "0.2.2" # Replace with your crate name