diff --git a/build.gradle.kts b/build.gradle.kts index f25c40e..c4d2605 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,7 +6,7 @@ plugins { } group = "net.sergeych" -version = "0.2.1-SNAPSHOT" +version = "0.2.2-SNAPSHOT" repositories { mavenCentral() @@ -60,7 +60,7 @@ kotlin { val commonMain by getting { dependencies { implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3") - implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1") + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.1") // api("com.ionspin.kotlin:bignum:0.3.9") api("io.ktor:ktor-client-core:$ktor_version") diff --git a/src/commonMain/kotlin/net/sergeych/kiloparsec/KiloClient.kt b/src/commonMain/kotlin/net/sergeych/kiloparsec/KiloClient.kt index e99e936..144deb8 100644 --- a/src/commonMain/kotlin/net/sergeych/kiloparsec/KiloClient.kt +++ b/src/commonMain/kotlin/net/sergeych/kiloparsec/KiloClient.kt @@ -23,7 +23,7 @@ import net.sergeych.mp_tools.globalLaunch * it manually when it is not needed, otherwise it will continue to reconnect. */ class KiloClient( - localInterface: KiloInterface, + val localInterface: KiloInterface, secretKey: SigningKey? = null, connectionDataFactory: ConnectionDataFactory, ) : RemoteInterface, diff --git a/src/commonMain/kotlin/net/sergeych/kiloparsec/KiloInterface.kt b/src/commonMain/kotlin/net/sergeych/kiloparsec/KiloInterface.kt index ac3d8ed..aac9e82 100644 --- a/src/commonMain/kotlin/net/sergeych/kiloparsec/KiloInterface.kt +++ b/src/commonMain/kotlin/net/sergeych/kiloparsec/KiloInterface.kt @@ -6,7 +6,7 @@ package net.sergeych.kiloparsec * * BAse implementation registers relevant exceptions. */ -class KiloInterface : LocalInterface>() { +open class KiloInterface : LocalInterface>() { internal var onConnectHandler: (KiloScope.()->Unit) ? = null diff --git a/src/commonMain/kotlin/net/sergeych/kiloparsec/adapter/NetworkProvider.kt b/src/commonMain/kotlin/net/sergeych/kiloparsec/adapter/NetworkProvider.kt index fb8fb68..8c96031 100644 --- a/src/commonMain/kotlin/net/sergeych/kiloparsec/adapter/NetworkProvider.kt +++ b/src/commonMain/kotlin/net/sergeych/kiloparsec/adapter/NetworkProvider.kt @@ -51,4 +51,6 @@ fun String.toNetworkAddress() : NetworkAddress { expect fun acceptTcpDevice(port: Int): Flow -expect suspend fun connectTcpDevice(address: NetworkAddress): InetTransportDevice \ No newline at end of file +expect suspend fun connectTcpDevice(address: NetworkAddress): InetTransportDevice + +suspend fun connectTcpDevice(address: String) = connectTcpDevice(address.toNetworkAddress()) diff --git a/src/jvmMain/kotlin/net/sergeych/kiloparsec/adapter/NetworkProvider.jvm.kt b/src/jvmMain/kotlin/net/sergeych/kiloparsec/adapter/NetworkProvider.jvm.kt index 186e3dc..4fb4bfe 100644 --- a/src/jvmMain/kotlin/net/sergeych/kiloparsec/adapter/NetworkProvider.jvm.kt +++ b/src/jvmMain/kotlin/net/sergeych/kiloparsec/adapter/NetworkProvider.jvm.kt @@ -33,7 +33,6 @@ actual fun acceptTcpDevice(port: Int): Flow { } } -suspend fun connectTcpDevice(address: String) = connectTcpDevice(address.toNetworkAddress()) @Suppress("unused") suspend fun connectTcpDevice(host: String, port: Int) = connectTcpDevice(NetworkAddress(host,port)) actual suspend fun connectTcpDevice(address: NetworkAddress): InetTransportDevice { diff --git a/src/jvmTest/kotlin/net/sergeych/kiloparsec/adapters/NetworkTest.kt b/src/jvmTest/kotlin/net/sergeych/kiloparsec/adapters/NetworkTest.kt index 85375da..8ebb77f 100644 --- a/src/jvmTest/kotlin/net/sergeych/kiloparsec/adapters/NetworkTest.kt +++ b/src/jvmTest/kotlin/net/sergeych/kiloparsec/adapters/NetworkTest.kt @@ -2,6 +2,7 @@ package net.sergeych.kiloparsec.adapters import kotlinx.coroutines.* import kotlinx.coroutines.test.runTest +import net.sergeych.crypto2.initCrypto import net.sergeych.kiloparsec.adapter.UdpServer import net.sergeych.kiloparsec.adapter.acceptTcpDevice import net.sergeych.kiloparsec.adapter.connectTcpDevice @@ -11,8 +12,9 @@ import net.sergeych.kiloparsec.encodeToUByteArray import net.sergeych.mp_logger.Log import net.sergeych.synctools.ProtectedOp import net.sergeych.synctools.invoke -import kotlin.test.* +import kotlin.test.Test import kotlin.test.assertContains +import kotlin.test.assertEquals class NetworkTest { @@ -33,6 +35,7 @@ class NetworkTest { @Test fun tcpAsyncConnectionTest() = runTest { + initCrypto() Log.connectConsole(Log.Level.DEBUG) coroutineScope {