X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Ffreenet%2Fplugin%2FFredPluginConnector.kt;h=98849c4e0a691ed67ccfe5a4e920288458279aad;hb=9b102d5ff09775e3867ad8709f22baf0ad608d30;hp=4dd8604d62a86ff62eb6d4655d6e88e1dd84d187;hpb=9ae2fe052fd8921e9e114f94efb864c90fbf356a;p=Sone.git diff --git a/src/main/kotlin/net/pterodactylus/sone/freenet/plugin/FredPluginConnector.kt b/src/main/kotlin/net/pterodactylus/sone/freenet/plugin/FredPluginConnector.kt index 4dd8604..98849c4 100644 --- a/src/main/kotlin/net/pterodactylus/sone/freenet/plugin/FredPluginConnector.kt +++ b/src/main/kotlin/net/pterodactylus/sone/freenet/plugin/FredPluginConnector.kt @@ -16,7 +16,7 @@ import javax.inject.* */ class FredPluginConnector @Inject constructor(private val pluginRespiratorFacade: PluginRespiratorFacade) : PluginConnector { - override fun sendRequest(pluginName: String, identifier: String, fields: SimpleFieldSet, data: Bucket?): PluginReply { + override suspend fun sendRequest(pluginName: String, fields: SimpleFieldSet, data: Bucket?): PluginReply { val receivedReply = Channel() val responseReceiver = FredPluginTalker { _, _, responseFields, responseData -> GlobalScope.launch { @@ -26,11 +26,9 @@ class FredPluginConnector @Inject constructor(private val pluginRespiratorFacade try { val pluginTalker = pluginRespiratorFacade.getPluginTalker(responseReceiver, pluginName, "") pluginTalker.send(fields, data) - return runBlocking { - receivedReply.receive() - } + return receivedReply.receive() } catch (e: PluginNotFoundException) { - throw PluginException(e) + throw PluginException(cause = e) } }