From f9338519be8e0ca873de4511deda3aabccc25ec1 Mon Sep 17 00:00:00 2001 From: Mike Hearn Date: Tue, 27 Jan 2015 21:52:19 +0100 Subject: [PATCH] Add 20 second timeout to HttpDiscovery --- .../main/java/org/bitcoinj/net/discovery/HttpDiscovery.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/src/main/java/org/bitcoinj/net/discovery/HttpDiscovery.java b/core/src/main/java/org/bitcoinj/net/discovery/HttpDiscovery.java index ac3537f5..318573fc 100644 --- a/core/src/main/java/org/bitcoinj/net/discovery/HttpDiscovery.java +++ b/core/src/main/java/org/bitcoinj/net/discovery/HttpDiscovery.java @@ -38,6 +38,8 @@ import static com.google.common.base.Preconditions.checkArgument; * This is not currently in use by the Bitcoin community, but rather, is here for experimentation. */ public class HttpDiscovery implements PeerDiscovery { + private static final int TIMEOUT_SECS = 20; + private final ECKey pubkey; private final URI uri; private final NetworkParameters params; @@ -57,6 +59,8 @@ public class HttpDiscovery implements PeerDiscovery { public InetSocketAddress[] getPeers(long timeoutValue, TimeUnit timeoutUnit) throws PeerDiscoveryException { try { HttpURLConnection conn = (HttpURLConnection) uri.toURL().openConnection(); + conn.setReadTimeout(TIMEOUT_SECS * 1000); + conn.setConnectTimeout(TIMEOUT_SECS * 1000); conn.setRequestProperty("User-Agent", "bitcoinj " + VersionMessage.BITCOINJ_VERSION); InputStream stream = conn.getInputStream(); GZIPInputStream zip = new GZIPInputStream(stream);