X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning-block-sync%2Fsrc%2Fhttp.rs;h=58d66686f0107e311e90bb2fc373603b723806bc;hb=a634fd1dad468e4af51b508b3a0245f9655d129e;hp=0721babfde3d1b626051ba1ccccb7240d1f5a5a7;hpb=75f77a57088fbb2eac786ed4bae951df16dc7c03;p=rust-lightning diff --git a/lightning-block-sync/src/http.rs b/lightning-block-sync/src/http.rs index 0721babf..58d66686 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; @@ -510,21 +511,19 @@ mod endpoint_tests { #[test] fn convert_to_socket_addrs() { - let endpoint = HttpEndpoint::for_host("foo.com".into()); + let endpoint = HttpEndpoint::for_host("localhost".into()); let host = endpoint.host(); let port = endpoint.port(); use std::net::ToSocketAddrs; match (&endpoint).to_socket_addrs() { Err(e) => panic!("Unexpected error: {:?}", e), - Ok(mut socket_addrs) => { - match socket_addrs.next() { - None => panic!("Expected socket address"), - Some(addr) => { - assert_eq!(addr, (host, port).to_socket_addrs().unwrap().next().unwrap()); - assert!(socket_addrs.next().is_none()); - } + Ok(socket_addrs) => { + let mut std_addrs = (host, port).to_socket_addrs().unwrap(); + for addr in socket_addrs { + assert_eq!(addr, std_addrs.next().unwrap()); } + assert!(std_addrs.next().is_none()); } } }