Skip to content

Releases: Bicheka/file-transfer-system

v0.2.3

02 Nov 03:42
3247c36
Compare
Choose a tag to compare

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.

Changes

  • Request Upload Update:
    • Simplified the Request::Upload structure by removing PathType as a required field. The file transfer protocol now determines the path type, improving clarity and flexibility.
  • 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 a Request object, streamlining request handling.

Bug Fixes

  • Resolved Client dyn Error Handling:
    • Switched to anyhow::Error for more flexible error handling in the client, addressing issues with dyn Error.
  • Server Shutdown Signal:
    • Made the stop signal public and created a new stop_server function, enabling cleaner shutdown management.

This release includes fixes for issues raised in #54 and enhances the client’s transfer capabilities.

Contributors

  • Bicheka

v0.2.2

25 Oct 07:24
2203fa8
Compare
Choose a tag to compare

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