diff --git a/src/main/java/com/frostwire/jlibtorrent/DHT.java b/src/main/java/com/frostwire/jlibtorrent/DHT.java index 178e80e5c..9261bddad 100644 --- a/src/main/java/com/frostwire/jlibtorrent/DHT.java +++ b/src/main/java/com/frostwire/jlibtorrent/DHT.java @@ -41,7 +41,12 @@ public boolean running() { return s.isDHTRunning(); } - public Entry get(Sha1Hash sha1, long timeout) { + /** + * @param sha1 + * @param timeout in seconds + * @return + */ + public Entry get(Sha1Hash sha1, int timeout) { final Sha1Hash target = sha1; final Entry[] result = {null}; final CountDownLatch signal = new CountDownLatch(1); @@ -70,7 +75,7 @@ public void alert(Alert alert) { s.dhtGetItem(target); try { - signal.await(timeout, TimeUnit.MILLISECONDS); + signal.await(timeout, TimeUnit.SECONDS); } catch (InterruptedException e) { // ignore } @@ -84,7 +89,12 @@ public Sha1Hash put(Entry entry) { return s.dhtPutItem(entry); } - public ArrayList getPeers(Sha1Hash sha1, long timeout) { + /** + * @param sha1 + * @param timeout in seconds + * @return + */ + public ArrayList getPeers(Sha1Hash sha1, int timeout) { final Sha1Hash target = sha1; final Object[] result = {new ArrayList()}; final CountDownLatch signal = new CountDownLatch(1); @@ -113,7 +123,7 @@ public void alert(Alert alert) { s.dhtGetPeers(target); try { - signal.await(timeout, TimeUnit.MILLISECONDS); + signal.await(timeout, TimeUnit.SECONDS); } catch (InterruptedException e) { // ignore } @@ -131,7 +141,7 @@ public void announce(Sha1Hash sha1) { s.dhtAnnounce(sha1); } - public MutableItem mget(final byte[] key, final byte[] salt, long timeout) { + public MutableItem mget(final byte[] key, final byte[] salt, int timeout) { final MutableItem[] result = {null}; final CountDownLatch signal = new CountDownLatch(1); @@ -163,7 +173,7 @@ public void alert(Alert alert) { s.dhtGetItem(key, salt); try { - signal.await(timeout, TimeUnit.MILLISECONDS); + signal.await(timeout, TimeUnit.SECONDS); } catch (InterruptedException e) { // ignore } diff --git a/src/main/java/com/frostwire/jlibtorrent/Session.java b/src/main/java/com/frostwire/jlibtorrent/Session.java index 545c3359c..8b7150e75 100644 --- a/src/main/java/com/frostwire/jlibtorrent/Session.java +++ b/src/main/java/com/frostwire/jlibtorrent/Session.java @@ -84,8 +84,8 @@ public Session() { this(new SettingsPack(), false, null); } - public Session(String iface, int port, int retries, boolean logging, AlertListener listener) { - this(addSettings(new SettingsPack(), iface, port, retries), logging, listener); + public Session(String ip, int port, boolean logging, AlertListener listener) { + this(createSettings(ip, port), logging, listener); } public session getSwig() { @@ -1075,14 +1075,13 @@ private static session createSession(SettingsPack settings, boolean logging) { return new session(sp); } - private static SettingsPack addSettings(SettingsPack settings, String iface, int port, int retries) { - settings_pack sp = settings.getSwig(); + private static SettingsPack createSettings(String ip, int port) { + settings_pack sp = new settings_pack(); - String listen_iface = String.format("%s:%d", iface, port); - sp.set_str(settings_pack.string_types.listen_interfaces.swigValue(), listen_iface); - sp.set_int(settings_pack.int_types.max_retry_port_bind.swigValue(), retries); + String iface = String.format("%s:%d", ip, port); + sp.set_str(settings_pack.string_types.listen_interfaces.swigValue(), iface); - return settings; + return new SettingsPack(sp); } /** diff --git a/src/test/java/com/frostwire/jlibtorrent/demo/DhtShell.java b/src/test/java/com/frostwire/jlibtorrent/demo/DhtShell.java index cfb39e514..d8193fb72 100644 --- a/src/test/java/com/frostwire/jlibtorrent/demo/DhtShell.java +++ b/src/test/java/com/frostwire/jlibtorrent/demo/DhtShell.java @@ -50,7 +50,7 @@ public void alert(Alert alert) { } }; - Session s = new Session("0.0.0.0", 33123, 10, false, mainListener); + Session s = new Session("0.0.0.0", 0, false, mainListener); DHT dht = new DHT(s); Downloader downloader = new Downloader(s); @@ -146,7 +146,7 @@ private static boolean is_get(String s) { private static void get(DHT dht, String s) { String sha1 = s.split(" ")[1]; print("Waiting a max of 20 seconds to get data for key: " + sha1); - Entry data = dht.get(new Sha1Hash(sha1), 20000); + Entry data = dht.get(new Sha1Hash(sha1), 20); print(data.toString()); } @@ -157,7 +157,7 @@ private static boolean is_get_peers(String s) { private static void get_peers(DHT dht, String s) { String sha1 = s.split(" ")[1]; print("Waiting a max of 20 seconds to get peers for key: " + sha1); - ArrayList peers = dht.getPeers(new Sha1Hash(sha1), 20000); + ArrayList peers = dht.getPeers(new Sha1Hash(sha1), 20); print(peers.toString()); } @@ -204,7 +204,7 @@ private static void mget(DHT dht, String s) { String[] arr = s.split(" "); byte[] publicKey = Utils.fromHex(arr[1]); print("Waiting a max of 20 seconds to get mutable data for public key: " + arr[1]); - DHT.MutableItem data = dht.mget(publicKey, new byte[0], 20000); + DHT.MutableItem data = dht.mget(publicKey, new byte[0], 20); print(data.item.toString()); } @@ -216,7 +216,7 @@ private static void magnet(Downloader downloader, String s) { String sha1 = s.split(" ")[1]; String uri = "magnet:?xt=urn:btih:" + sha1; print("Waiting a max of 20 seconds to fetch magnet for sha1: " + sha1); - byte[] data = downloader.fetchMagnet(uri, 20000); + byte[] data = downloader.fetchMagnet(uri, 20); print(Entry.bdecode(data).toString()); } diff --git a/src/test/java/com/frostwire/jlibtorrent/demo/DhtStorageTest.java b/src/test/java/com/frostwire/jlibtorrent/demo/DhtStorageTest.java index fc8cb3c70..7f6d6d464 100644 --- a/src/test/java/com/frostwire/jlibtorrent/demo/DhtStorageTest.java +++ b/src/test/java/com/frostwire/jlibtorrent/demo/DhtStorageTest.java @@ -31,8 +31,7 @@ public void alert(Alert alert) { sp.setString(settings_pack.string_types.listen_interfaces.swigValue(), "0.0.0.0:0"); sp.enableDht(false); - //Session s = new Session(sp, false, l); - Session s = new Session("0.0.0.0", 0, 10, false, l); + Session s = new Session("0.0.0.0", 0, false, l); s.setDhtStorage(new DhtStorageConstructor() { @Override