X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FFreenetInterface.java;fp=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FFreenetInterface.java;h=59e790c6a09e9480b583e36f030af78335cc0439;hp=e77badf3006ac23602c4998206e6d220036c592b;hb=07643fdd510640d6c0b20963e4f4f36e06469fb5;hpb=feb4aeda86e2c3d7deff163eda53191d6baa5650 diff --git a/src/main/java/net/pterodactylus/sone/core/FreenetInterface.java b/src/main/java/net/pterodactylus/sone/core/FreenetInterface.java index e77badf..59e790c 100644 --- a/src/main/java/net/pterodactylus/sone/core/FreenetInterface.java +++ b/src/main/java/net/pterodactylus/sone/core/FreenetInterface.java @@ -66,6 +66,7 @@ import freenet.client.async.ClientPutCallback; import freenet.client.async.ClientPutter; import freenet.client.async.SnoopMetadata; import freenet.client.async.USKCallback; +import freenet.client.async.USKManager; import freenet.keys.FreenetURI; import freenet.keys.InsertableClientSSK; import freenet.keys.USK; @@ -93,6 +94,8 @@ public class FreenetInterface { /** The node to interact with. */ private final Node node; + private final USKManager uskManager; + private final ClientContext clientContext; private final SoneUriCreator soneUriCreator; @@ -110,11 +113,13 @@ public class FreenetInterface { private final RequestClient imageLoader = new RequestClientBuilder().realTime().build(); @Inject - public FreenetInterface(EventBus eventBus, Node node, SoneUriCreator soneUriCreator) { + public FreenetInterface(EventBus eventBus, Node node, USKManager uskManager, ClientContext clientContext, SoneUriCreator soneUriCreator, HighLevelSimpleClientCreator highLevelSimpleClientCreator) { this.eventBus = eventBus; this.node = node; + this.uskManager = uskManager; + this.clientContext = clientContext; this.soneUriCreator = soneUriCreator; - this.client = node.clientCore.makeClient(RequestStarter.INTERACTIVE_PRIORITY_CLASS, false, true); + this.client = highLevelSimpleClientCreator.makeClient(RequestStarter.INTERACTIVE_PRIORITY_CLASS, false, true); } // @@ -186,7 +191,7 @@ public class FreenetInterface { try { ClientGetter clientGetter = client.fetch(uri, 2097152, callback, fetchContext, RequestStarter.INTERACTIVE_PRIORITY_CLASS); clientGetter.setMetaSnoop(snoop); - clientGetter.restart(uri, fetchContext.filterData, node.clientCore.clientContext); + clientGetter.restart(uri, fetchContext.filterData, clientContext); } catch (FetchException fe) { /* stupid exception that can not actually be thrown! */ } @@ -254,7 +259,7 @@ public class FreenetInterface { USKCallback uskCallback) { try { soneUskCallbacks.put(FreenetURIsKt.getRoutingKeyString(requestUri), uskCallback); - node.clientCore.uskManager.subscribe(create(requestUri), + uskManager.subscribe(create(requestUri), uskCallback, true, requestClient); } catch (MalformedURLException mue1) { logger.log(WARNING, format("Could not subscribe USK “%s”!", @@ -266,9 +271,7 @@ public class FreenetInterface { USKCallback uskCallback) { try { soneUskCallbacks.put(FreenetURIsKt.getRoutingKeyString(requestUri), uskCallback); - node.clientCore - .uskManager - .subscribe(create(requestUri), uskCallback, false, requestClient); + uskManager.subscribe(create(requestUri), uskCallback, false, requestClient); } catch (MalformedURLException mue1) { logger.log(WARNING, format("Could not subscribe USK “%s”!", requestUri), @@ -291,7 +294,7 @@ public class FreenetInterface { logger.log(Level.FINEST, String.format("USKs left: %d", soneUskCallbacks.size())); uskCallbacks.forEach(uskCallback -> { try { - node.clientCore.uskManager.unsubscribe(USK.create(soneUriCreator.getRequestUri(sone)), uskCallback); + uskManager.unsubscribe(USK.create(soneUriCreator.getRequestUri(sone)), uskCallback); } catch (MalformedURLException mue1) { logger.log(Level.FINE, String.format("Could not unsubscribe USK “%s”!", soneUriCreator.getRequestUri(sone)), mue1); } @@ -327,7 +330,7 @@ public class FreenetInterface { }; try { - node.clientCore.uskManager.subscribe(USK.create(uri), uskCallback, true, requestClient); + uskManager.subscribe(USK.create(uri), uskCallback, true, requestClient); uriUskCallbacks.put(USK.create(uri).clearCopy().getURI(), uskCallback); } catch (MalformedURLException mue1) { logger.log(Level.WARNING, String.format("Could not subscribe to USK: %s", uri), mue1); @@ -347,7 +350,7 @@ public class FreenetInterface { logger.log(Level.INFO, String.format("Could not unregister unknown USK: %s", uri)); return; } - node.clientCore.uskManager.unsubscribe(USK.create(uri), uskCallback); + uskManager.unsubscribe(USK.create(uri), uskCallback); } catch (MalformedURLException mue1) { logger.log(Level.INFO, String.format("Could not unregister invalid USK: %s", uri), mue1); } @@ -435,7 +438,7 @@ public class FreenetInterface { */ @SuppressWarnings("synthetic-access") public void cancel() { - clientPutter.cancel(node.clientCore.clientContext); + clientPutter.cancel(clientContext); eventBus.post(new ImageInsertAbortedEvent(image)); bucket.free(); }