fix(peer): handle UploadDenied so refused downloads fail fast

Peer message code 50 had no handler, so the dispatcher dropped it and a
download refused by the peer stayed Queued until the caller's timeout.

The new handler reads the filename and reason and routes the denial into
the same failure path as UploadFailed. A reason of "Queued" is status,
not a failure: some clients send it for a download that is still held in
their queue, and failing it would kill healthy downloads after a
reconnect, so that one is only logged.

Fixes #29
This commit is contained in:
Michel de Graaf
2026-08-13 12:45:57 +02:00
parent d30ca757bc
commit 9ce0a851dc
4 changed files with 72 additions and 1 deletions
+2
View File
@@ -7,6 +7,7 @@ mod queue_upload;
mod shared_file_list;
mod transfer_request;
mod transfer_response;
mod upload_denied;
mod upload_failed;
// Re-export handlers
@@ -24,4 +25,5 @@ pub use shared_file_list::{
};
pub use transfer_request::TransferRequest;
pub use transfer_response::TransferResponse;
pub use upload_denied::UploadDeniedHandler;
pub use upload_failed::UploadFailedHandler;