From 23beb35ac87fdb97382a59d5365dd83a5258897b Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Sat, 16 Oct 2010 03:42:22 +0200 Subject: [PATCH] =?utf8?q?Don=E2=80=99t=20watch=20local=20Sones=20for=20up?= =?utf8?q?dates,=20we=20already=20have=20those.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/main/java/net/pterodactylus/sone/core/Core.java | 3 ++- .../java/net/pterodactylus/sone/core/SoneDownloader.java | 12 ++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/pterodactylus/sone/core/Core.java b/src/main/java/net/pterodactylus/sone/core/Core.java index 3aab417..8570e9a 100644 --- a/src/main/java/net/pterodactylus/sone/core/Core.java +++ b/src/main/java/net/pterodactylus/sone/core/Core.java @@ -135,6 +135,7 @@ public class Core extends AbstractService { public Sone getSone(String soneId) { if (!soneCache.containsKey(soneId)) { Sone sone = new Sone(soneId); + soneDownloader.addSone(sone); soneCache.put(soneId, sone); } return soneCache.get(soneId); @@ -218,7 +219,7 @@ public class Core extends AbstractService { if (localSones.add(sone)) { SoneInserter soneInserter = new SoneInserter(freenetInterface, sone); soneInserter.start(); - soneDownloader.addSone(sone); + soneDownloader.removeSone(sone); soneInserters.put(sone, soneInserter); } } diff --git a/src/main/java/net/pterodactylus/sone/core/SoneDownloader.java b/src/main/java/net/pterodactylus/sone/core/SoneDownloader.java index 193d328..4d39568 100644 --- a/src/main/java/net/pterodactylus/sone/core/SoneDownloader.java +++ b/src/main/java/net/pterodactylus/sone/core/SoneDownloader.java @@ -89,6 +89,18 @@ public class SoneDownloader extends AbstractService { } /** + * Removes the given Sone from the downloader. + * + * @param sone + * The Sone to stop watching + */ + public void removeSone(Sone sone) { + if (sones.remove(sone)) { + freenetInterface.unregisterUsk(sone); + } + } + + /** * Fetches the updated Sone. This method is a callback method for * {@link FreenetInterface#registerUsk(Sone, SoneDownloader)}. * -- 2.7.4