X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning-block-sync%2Fsrc%2Fhttp.rs;h=a3935edf5cb6e9880217196112d8f4ead5bacd57;hb=b28bcfe3d933a261b115415d6bc7865dc5c98df7;hp=89054a23ffb5a936ad7814bcdcde8a248f20f18a;hpb=c05347f48a4ff2789ae261ee8c8f3f4277489420;p=rust-lightning diff --git a/lightning-block-sync/src/http.rs b/lightning-block-sync/src/http.rs index 89054a23..a3935edf 100644 --- a/lightning-block-sync/src/http.rs +++ b/lightning-block-sync/src/http.rs @@ -27,9 +27,10 @@ const TCP_STREAM_TIMEOUT: Duration = Duration::from_secs(5); /// Timeout for reading the first byte of a response. This is separate from the general read /// timeout as it is not uncommon for Bitcoin Core to be blocked waiting on UTXO cache flushes for -/// upwards of a minute or more. Note that we always retry once when we time out, so the maximum -/// time we allow Bitcoin Core to block for is twice this value. -const TCP_STREAM_RESPONSE_TIMEOUT: Duration = Duration::from_secs(120); +/// upwards of 10 minutes on slow devices (e.g. RPis with SSDs over USB). Note that we always retry +/// once when we time out, so the maximum time we allow Bitcoin Core to block for is twice this +/// value. +const TCP_STREAM_RESPONSE_TIMEOUT: Duration = Duration::from_secs(300); /// Maximum HTTP message header size in bytes. const MAX_HTTP_MESSAGE_HEADER_SIZE: usize = 8192; @@ -636,7 +637,10 @@ pub(crate) mod client_tests { #[test] fn connect_to_unresolvable_host() { match HttpClient::connect(("example.invalid", 80)) { - Err(e) => assert_eq!(e.kind(), std::io::ErrorKind::Other), + Err(e) => { + assert!(e.to_string().contains("failed to lookup address information") || + e.to_string().contains("No such host"), "{:?}", e); + }, Ok(_) => panic!("Expected error"), } }