X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Ffreenet%2Fplugin%2FFredPluginConnector.kt;h=98849c4e0a691ed67ccfe5a4e920288458279aad;hp=45afb36e783be20c7fb4f9d952d3d02ea5cf7183;hb=9b102d5ff09775e3867ad8709f22baf0ad608d30;hpb=796aca342c0c4f72cafb21a1e3dcf5ef2b1a44a1 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 45afb36..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, 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,9 +26,7 @@ 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(cause = e) }