extending functionality for kilogin

This commit is contained in:
Sergey Chernov 2024-07-24 22:49:30 +03:00
parent 5df6143c75
commit 7c0edfb898
6 changed files with 11 additions and 7 deletions

View File

@ -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")

View File

@ -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<S>(
localInterface: KiloInterface<S>,
val localInterface: KiloInterface<S>,
secretKey: SigningKey? = null,
connectionDataFactory: ConnectionDataFactory<S>,
) : RemoteInterface,

View File

@ -6,7 +6,7 @@ package net.sergeych.kiloparsec
*
* BAse implementation registers relevant exceptions.
*/
class KiloInterface<S> : LocalInterface<KiloScope<S>>() {
open class KiloInterface<S> : LocalInterface<KiloScope<S>>() {
internal var onConnectHandler: (KiloScope<S>.()->Unit) ? = null

View File

@ -52,3 +52,5 @@ fun String.toNetworkAddress() : NetworkAddress {
expect fun acceptTcpDevice(port: Int): Flow<InetTransportDevice>
expect suspend fun connectTcpDevice(address: NetworkAddress): InetTransportDevice
suspend fun connectTcpDevice(address: String) = connectTcpDevice(address.toNetworkAddress())

View File

@ -33,7 +33,6 @@ actual fun acceptTcpDevice(port: Int): Flow<InetTransportDevice> {
}
}
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 {

View File

@ -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 {