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
30 lines
904 B
Rust
30 lines
904 B
Rust
mod file_search_response;
|
|
mod get_share_file_list;
|
|
mod peer_init;
|
|
mod place_in_queue_request;
|
|
mod place_in_queue_response;
|
|
mod queue_upload;
|
|
mod shared_file_list;
|
|
mod transfer_request;
|
|
mod transfer_response;
|
|
mod upload_denied;
|
|
mod upload_failed;
|
|
|
|
// Re-export handlers
|
|
pub use file_search_response::{
|
|
FileEntry, FileSearchResponse, build_file_search_response,
|
|
};
|
|
pub use get_share_file_list::GetShareFileList;
|
|
pub use peer_init::PeerInit;
|
|
pub use place_in_queue_request::PlaceInQueueRequest;
|
|
pub use place_in_queue_response::PlaceInQueueResponse;
|
|
pub use queue_upload::QueueUploadHandler;
|
|
pub use shared_file_list::{
|
|
SharedDirectory, SharedFileListResponseHandler, build_shared_file_list,
|
|
parse_shared_file_list,
|
|
};
|
|
pub use transfer_request::TransferRequest;
|
|
pub use transfer_response::TransferResponse;
|
|
pub use upload_denied::UploadDeniedHandler;
|
|
pub use upload_failed::UploadFailedHandler;
|