openrtc-file-transfer
Optional native companion for the TypeScript openrtc-file-transfer package.
It implements the same version-1 named-channel wire format over any protected
bidirectional byte stream. The crate does not own OpenRTC lifecycle, peer
selection, filesystem policy, persistent queues, history, or UI.
Applications open an authenticated OpenRTC peer stream, then pass it to
send_path or receive_to_directory. Receivers enforce bounded headers and
file sizes, sanitize filenames, write with create_new, verify optional SHA-256
digests incrementally, and acknowledge only after the destination is flushed.
Resume is explicit and fail-closed: an offset is accepted only when the named
destination already exists at exactly that length; any declared digest includes
and verifies the existing prefix before appended bytes are acknowledged.