From bad881bdb9c1453abdd54831dc7e540e25d7d233 Mon Sep 17 00:00:00 2001 From: Oleg Yukhnevich Date: Thu, 21 Mar 2024 07:35:48 +0200 Subject: [PATCH] Kotlin 2.0 --- .gitignore | 1 + .../rsocketbuild.multiplatform-base.gradle.kts | 16 ++++++++++------ .../src/main/kotlin/rsocketbuild/OptIns.kt | 1 + gradle/libs.versions.toml | 2 +- .../rsocket/kotlin/ktor/client/RSocketSupport.kt | 1 + .../transport/ktor/tcp/KtorTcpClientTransport.kt | 3 +++ .../transport/ktor/tcp/KtorTcpServerTransport.kt | 4 ++++ .../client/KtorWebSocketClientTransport.kt | 3 +++ .../server/KtorWebSocketServerTransport.kt | 4 ++++ .../transport/local/LocalClientTransport.kt | 3 +++ .../transport/local/LocalServerTransport.kt | 4 ++++ .../netty/quic/NettyQuicClientTransport.kt | 3 +++ .../netty/quic/NettyQuicServerTransport.kt | 4 ++++ .../netty/tcp/NettyTcpClientTransport.kt | 3 +++ .../netty/tcp/NettyTcpServerTransport.kt | 4 ++++ .../websocket/NettyWebSocketClientTransport.kt | 3 +++ .../websocket/NettyWebSocketServerTransport.kt | 4 ++++ .../nodejs/tcp/NodejsTcpClientTransport.kt | 3 +++ .../nodejs/tcp/NodejsTcpServerTransport.kt | 4 ++++ 19 files changed, 63 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 00d9af02..676cf296 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ syntax: glob !/.idea/codeStyles *.iml +.kotlin .gradle classes build/ diff --git a/build-logic/src/main/kotlin/rsocketbuild.multiplatform-base.gradle.kts b/build-logic/src/main/kotlin/rsocketbuild.multiplatform-base.gradle.kts index daa64f65..2a6b5fa4 100644 --- a/build-logic/src/main/kotlin/rsocketbuild.multiplatform-base.gradle.kts +++ b/build-logic/src/main/kotlin/rsocketbuild.multiplatform-base.gradle.kts @@ -32,16 +32,22 @@ plugins { @OptIn(ExperimentalKotlinGradlePluginApi::class) kotlin { compilerOptions { - // because of https://youtrack.jetbrains.com/issue/KT-64115/KGP-JVM-JS-WASM-The-same-library-can-be-passed-twice-to-the-compiler - // allWarningsAsErrors.set(true) + // because of INVISIBLE_REFERENCE suppression - will be removed after migration to kotlinx.io + if (project.name != "rsocket-test") { + allWarningsAsErrors.set(true) + } progressiveMode.set(true) freeCompilerArgs.add("-Xrender-internal-diagnostic-names") + optIn.addAll(OptIns.ExperimentalSubclassOptIn) } sourceSets.configureEach { languageSettings { if (name.contains("test", ignoreCase = true)) { + // for hex API optIn(OptIns.ExperimentalStdlibApi) + // for channel.isClosedForSend - need to be replaced by testing via turbine or optIn in place + // and GlobalScope - need to be dropped optIn(OptIns.DelicateCoroutinesApi) // rsocket related @@ -54,10 +60,8 @@ kotlin { } targets.withType().configureEach { - compilations.configureEach { - compilerOptions.configure { - freeCompilerArgs.add("-Xjvm-default=all") - } + compilerOptions { + freeCompilerArgs.add("-Xjvm-default=all") } } diff --git a/build-logic/src/main/kotlin/rsocketbuild/OptIns.kt b/build-logic/src/main/kotlin/rsocketbuild/OptIns.kt index dc1a8493..e02f6da8 100644 --- a/build-logic/src/main/kotlin/rsocketbuild/OptIns.kt +++ b/build-logic/src/main/kotlin/rsocketbuild/OptIns.kt @@ -18,6 +18,7 @@ package rsocketbuild @Suppress("ConstPropertyName") object OptIns { + const val ExperimentalSubclassOptIn = "kotlin.ExperimentalSubclassOptIn" const val ExperimentalStdlibApi = "kotlin.ExperimentalStdlibApi" const val ExperimentalCoroutinesApi = "kotlinx.coroutines.ExperimentalCoroutinesApi" const val DelicateCoroutinesApi = "kotlinx.coroutines.DelicateCoroutinesApi" diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2a1c4bc9..cf8c1898 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -kotlin = "1.9.24" +kotlin = "2.0.0" kotlinx-atomicfu = "0.24.0" kotlinx-coroutines = "1.8.1" diff --git a/ktor-plugins/ktor-client-rsocket/src/commonMain/kotlin/io/rsocket/kotlin/ktor/client/RSocketSupport.kt b/ktor-plugins/ktor-client-rsocket/src/commonMain/kotlin/io/rsocket/kotlin/ktor/client/RSocketSupport.kt index 77e39724..f81e8bca 100644 --- a/ktor-plugins/ktor-client-rsocket/src/commonMain/kotlin/io/rsocket/kotlin/ktor/client/RSocketSupport.kt +++ b/ktor-plugins/ktor-client-rsocket/src/commonMain/kotlin/io/rsocket/kotlin/ktor/client/RSocketSupport.kt @@ -58,6 +58,7 @@ internal suspend fun HttpClient.connectRSocket(request: HttpRequestBuilder.() -> return config.connector.connect(RSocketSupportTarget(this, request)) } +@OptIn(RSocketTransportApi::class) private class RSocketSupportTarget( private val client: HttpClient, private val request: HttpRequestBuilder.() -> Unit, diff --git a/rsocket-transports/ktor-tcp/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/KtorTcpClientTransport.kt b/rsocket-transports/ktor-tcp/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/KtorTcpClientTransport.kt index b4a44005..c7a92e1d 100644 --- a/rsocket-transports/ktor-tcp/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/KtorTcpClientTransport.kt +++ b/rsocket-transports/ktor-tcp/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/KtorTcpClientTransport.kt @@ -23,6 +23,7 @@ import io.rsocket.kotlin.transport.* import kotlinx.coroutines.* import kotlin.coroutines.* +@OptIn(RSocketTransportApi::class) public sealed interface KtorTcpClientTransport : RSocketTransport { public fun target(remoteAddress: SocketAddress): RSocketClientTarget public fun target(host: String, port: Int): RSocketClientTarget @@ -31,6 +32,7 @@ public sealed interface KtorTcpClientTransport : RSocketTransport { RSocketTransportFactory(::KtorTcpClientTransportBuilderImpl) } +@OptIn(RSocketTransportApi::class) public sealed interface KtorTcpClientTransportBuilder : RSocketTransportBuilder { public fun dispatcher(context: CoroutineContext) public fun inheritDispatcher(): Unit = dispatcher(EmptyCoroutineContext) @@ -92,6 +94,7 @@ private class KtorTcpClientTransportImpl( override fun target(host: String, port: Int): RSocketClientTarget = target(InetSocketAddress(host, port)) } +@OptIn(RSocketTransportApi::class) private class KtorTcpClientTargetImpl( override val coroutineContext: CoroutineContext, private val socketOptions: SocketOptions.TCPClientSocketOptions.() -> Unit, diff --git a/rsocket-transports/ktor-tcp/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/KtorTcpServerTransport.kt b/rsocket-transports/ktor-tcp/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/KtorTcpServerTransport.kt index 7fad269e..706325a7 100644 --- a/rsocket-transports/ktor-tcp/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/KtorTcpServerTransport.kt +++ b/rsocket-transports/ktor-tcp/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/KtorTcpServerTransport.kt @@ -23,10 +23,12 @@ import io.rsocket.kotlin.transport.* import kotlinx.coroutines.* import kotlin.coroutines.* +@OptIn(RSocketTransportApi::class) public sealed interface KtorTcpServerInstance : RSocketServerInstance { public val localAddress: SocketAddress } +@OptIn(RSocketTransportApi::class) public sealed interface KtorTcpServerTransport : RSocketTransport { public fun target(localAddress: SocketAddress? = null): RSocketServerTarget public fun target(host: String = "0.0.0.0", port: Int = 0): RSocketServerTarget @@ -35,6 +37,7 @@ public sealed interface KtorTcpServerTransport : RSocketTransport { RSocketTransportFactory(::KtorTcpServerTransportBuilderImpl) } +@OptIn(RSocketTransportApi::class) public sealed interface KtorTcpServerTransportBuilder : RSocketTransportBuilder { public fun dispatcher(context: CoroutineContext) public fun inheritDispatcher(): Unit = dispatcher(EmptyCoroutineContext) @@ -94,6 +97,7 @@ private class KtorTcpServerTransportImpl( override fun target(host: String, port: Int): RSocketServerTarget = target(InetSocketAddress(host, port)) } +@OptIn(RSocketTransportApi::class) private class KtorTcpServerTargetImpl( override val coroutineContext: CoroutineContext, private val socketOptions: SocketOptions.AcceptorOptions.() -> Unit, diff --git a/rsocket-transports/ktor-websocket-client/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/client/KtorWebSocketClientTransport.kt b/rsocket-transports/ktor-websocket-client/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/client/KtorWebSocketClientTransport.kt index c444ec65..cc91d10d 100644 --- a/rsocket-transports/ktor-websocket-client/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/client/KtorWebSocketClientTransport.kt +++ b/rsocket-transports/ktor-websocket-client/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/client/KtorWebSocketClientTransport.kt @@ -27,6 +27,7 @@ import io.rsocket.kotlin.transport.ktor.websocket.internal.* import kotlinx.coroutines.* import kotlin.coroutines.* +@OptIn(RSocketTransportApi::class) public sealed interface KtorWebSocketClientTransport : RSocketTransport { public fun target(request: HttpRequestBuilder.() -> Unit): RSocketClientTarget public fun target(urlString: String, request: HttpRequestBuilder.() -> Unit = {}): RSocketClientTarget @@ -43,6 +44,7 @@ public sealed interface KtorWebSocketClientTransport : RSocketTransport { RSocketTransportFactory(::KtorWebSocketClientTransportBuilderImpl) } +@OptIn(RSocketTransportApi::class) public sealed interface KtorWebSocketClientTransportBuilder : RSocketTransportBuilder { public fun httpEngine(configure: HttpClientEngineConfig.() -> Unit) public fun httpEngine(engine: HttpClientEngine, configure: HttpClientEngineConfig.() -> Unit = {}) @@ -128,6 +130,7 @@ private class KtorWebSocketClientTransportImpl( } } +@OptIn(RSocketTransportApi::class) private class KtorWebSocketClientTargetImpl( override val coroutineContext: CoroutineContext, private val httpClient: HttpClient, diff --git a/rsocket-transports/ktor-websocket-server/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/KtorWebSocketServerTransport.kt b/rsocket-transports/ktor-websocket-server/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/KtorWebSocketServerTransport.kt index e8d66e6f..c78bc569 100644 --- a/rsocket-transports/ktor-websocket-server/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/KtorWebSocketServerTransport.kt +++ b/rsocket-transports/ktor-websocket-server/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/KtorWebSocketServerTransport.kt @@ -26,12 +26,14 @@ import io.rsocket.kotlin.transport.ktor.websocket.internal.* import kotlinx.coroutines.* import kotlin.coroutines.* +@OptIn(RSocketTransportApi::class) public sealed interface KtorWebSocketServerInstance : RSocketServerInstance { public val connectors: List public val path: String public val protocol: String? } +@OptIn(RSocketTransportApi::class) public sealed interface KtorWebSocketServerTransport : RSocketTransport { public fun target( @@ -63,6 +65,7 @@ public sealed interface KtorWebSocketServerTransport : RSocketTransport { RSocketTransportFactory(::KtorWebSocketServerTransportBuilderImpl) } +@OptIn(RSocketTransportApi::class) public sealed interface KtorWebSocketServerTransportBuilder : RSocketTransportBuilder { public fun httpEngine( factory: ApplicationEngineFactory, @@ -137,6 +140,7 @@ private class KtorWebSocketServerTransportImpl( ): RSocketServerTarget = target(listOf(connector), path, protocol) } +@OptIn(RSocketTransportApi::class) private class KtorWebSocketServerTargetImpl( override val coroutineContext: CoroutineContext, private val factory: HttpServerFactory<*, *>, diff --git a/rsocket-transports/local/src/commonMain/kotlin/io/rsocket/kotlin/transport/local/LocalClientTransport.kt b/rsocket-transports/local/src/commonMain/kotlin/io/rsocket/kotlin/transport/local/LocalClientTransport.kt index c81e3c24..5635b603 100644 --- a/rsocket-transports/local/src/commonMain/kotlin/io/rsocket/kotlin/transport/local/LocalClientTransport.kt +++ b/rsocket-transports/local/src/commonMain/kotlin/io/rsocket/kotlin/transport/local/LocalClientTransport.kt @@ -21,6 +21,7 @@ import io.rsocket.kotlin.transport.* import kotlinx.coroutines.* import kotlin.coroutines.* +@OptIn(RSocketTransportApi::class) public sealed interface LocalClientTransport : RSocketTransport { public fun target(serverName: String): RSocketClientTarget @@ -28,6 +29,7 @@ public sealed interface LocalClientTransport : RSocketTransport { RSocketTransportFactory(::LocalClientTransportBuilderImpl) } +@OptIn(RSocketTransportApi::class) public sealed interface LocalClientTransportBuilder : RSocketTransportBuilder { public fun dispatcher(context: CoroutineContext) public fun inheritDispatcher(): Unit = dispatcher(EmptyCoroutineContext) @@ -56,6 +58,7 @@ private class LocalClientTransportImpl( ) } +@OptIn(RSocketTransportApi::class) private class LocalClientTargetImpl( override val coroutineContext: CoroutineContext, private val server: LocalServerInstanceImpl, diff --git a/rsocket-transports/local/src/commonMain/kotlin/io/rsocket/kotlin/transport/local/LocalServerTransport.kt b/rsocket-transports/local/src/commonMain/kotlin/io/rsocket/kotlin/transport/local/LocalServerTransport.kt index ce1fe323..addb8f43 100644 --- a/rsocket-transports/local/src/commonMain/kotlin/io/rsocket/kotlin/transport/local/LocalServerTransport.kt +++ b/rsocket-transports/local/src/commonMain/kotlin/io/rsocket/kotlin/transport/local/LocalServerTransport.kt @@ -24,10 +24,12 @@ import kotlin.coroutines.* import kotlin.random.* // TODO: rename to inprocess and more to another module/package later +@OptIn(RSocketTransportApi::class) public sealed interface LocalServerInstance : RSocketServerInstance { public val serverName: String } +@OptIn(RSocketTransportApi::class) public sealed interface LocalServerTransport : RSocketTransport { public fun target(): RSocketServerTarget public fun target(serverName: String): RSocketServerTarget @@ -36,6 +38,7 @@ public sealed interface LocalServerTransport : RSocketTransport { RSocketTransportFactory(::LocalServerTransportBuilderImpl) } +@OptIn(RSocketTransportApi::class) public sealed interface LocalServerTransportBuilder : RSocketTransportBuilder { public fun dispatcher(context: CoroutineContext) public fun inheritDispatcher(): Unit = dispatcher(EmptyCoroutineContext) @@ -90,6 +93,7 @@ private class LocalServerTransportImpl( ) } +@OptIn(RSocketTransportApi::class) private class LocalServerTargetImpl( override val coroutineContext: CoroutineContext, private val serverName: String, diff --git a/rsocket-transports/netty-quic/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/quic/NettyQuicClientTransport.kt b/rsocket-transports/netty-quic/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/quic/NettyQuicClientTransport.kt index 44a219d0..b6e1a65b 100644 --- a/rsocket-transports/netty-quic/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/quic/NettyQuicClientTransport.kt +++ b/rsocket-transports/netty-quic/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/quic/NettyQuicClientTransport.kt @@ -31,6 +31,7 @@ import java.net.* import kotlin.coroutines.* import kotlin.reflect.* +@OptIn(RSocketTransportApi::class) public sealed interface NettyQuicClientTransport : RSocketTransport { public fun target(remoteAddress: InetSocketAddress): RSocketClientTarget public fun target(host: String, port: Int): RSocketClientTarget @@ -39,6 +40,7 @@ public sealed interface NettyQuicClientTransport : RSocketTransport { RSocketTransportFactory(::NettyQuicClientTransportBuilderImpl) } +@OptIn(RSocketTransportApi::class) public sealed interface NettyQuicClientTransportBuilder : RSocketTransportBuilder { public fun channel(cls: KClass) public fun channelFactory(factory: ChannelFactory) @@ -137,6 +139,7 @@ private class NettyQuicClientTransportImpl( override fun target(host: String, port: Int): RSocketClientTarget = target(InetSocketAddress(host, port)) } +@OptIn(RSocketTransportApi::class) private class NettyQuicClientTargetImpl( override val coroutineContext: CoroutineContext, private val bootstrap: Bootstrap, diff --git a/rsocket-transports/netty-quic/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/quic/NettyQuicServerTransport.kt b/rsocket-transports/netty-quic/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/quic/NettyQuicServerTransport.kt index 09f71fae..44e2c24b 100644 --- a/rsocket-transports/netty-quic/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/quic/NettyQuicServerTransport.kt +++ b/rsocket-transports/netty-quic/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/quic/NettyQuicServerTransport.kt @@ -32,10 +32,12 @@ import javax.net.ssl.* import kotlin.coroutines.* import kotlin.reflect.* +@OptIn(RSocketTransportApi::class) public sealed interface NettyQuicServerInstance : RSocketServerInstance { public val localAddress: InetSocketAddress } +@OptIn(RSocketTransportApi::class) public sealed interface NettyQuicServerTransport : RSocketTransport { public fun target(localAddress: InetSocketAddress? = null): RSocketServerTarget public fun target(host: String = "127.0.0.1", port: Int = 0): RSocketServerTarget @@ -44,6 +46,7 @@ public sealed interface NettyQuicServerTransport : RSocketTransport { RSocketTransportFactory(::NettyQuicServerTransportBuilderImpl) } +@OptIn(RSocketTransportApi::class) public sealed interface NettyQuicServerTransportBuilder : RSocketTransportBuilder { public fun channel(cls: KClass) public fun channelFactory(factory: ChannelFactory) @@ -137,6 +140,7 @@ private class NettyQuicServerTransportImpl( target(InetSocketAddress(host, port)) } +@OptIn(RSocketTransportApi::class) private class NettyQuicServerTargetImpl( override val coroutineContext: CoroutineContext, private val bootstrap: Bootstrap, diff --git a/rsocket-transports/netty-tcp/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/tcp/NettyTcpClientTransport.kt b/rsocket-transports/netty-tcp/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/tcp/NettyTcpClientTransport.kt index bbc54e50..9675af6b 100644 --- a/rsocket-transports/netty-tcp/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/tcp/NettyTcpClientTransport.kt +++ b/rsocket-transports/netty-tcp/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/tcp/NettyTcpClientTransport.kt @@ -31,6 +31,7 @@ import java.net.* import kotlin.coroutines.* import kotlin.reflect.* +@OptIn(RSocketTransportApi::class) public sealed interface NettyTcpClientTransport : RSocketTransport { public fun target(remoteAddress: SocketAddress): RSocketClientTarget public fun target(host: String, port: Int): RSocketClientTarget @@ -39,6 +40,7 @@ public sealed interface NettyTcpClientTransport : RSocketTransport { RSocketTransportFactory(::NettyTcpClientTransportBuilderImpl) } +@OptIn(RSocketTransportApi::class) public sealed interface NettyTcpClientTransportBuilder : RSocketTransportBuilder { public fun channel(cls: KClass) public fun channelFactory(factory: ChannelFactory) @@ -119,6 +121,7 @@ private class NettyTcpClientTransportImpl( override fun target(host: String, port: Int): RSocketClientTarget = target(InetSocketAddress(host, port)) } +@OptIn(RSocketTransportApi::class) private class NettyTcpClientTargetImpl( override val coroutineContext: CoroutineContext, private val bootstrap: Bootstrap, diff --git a/rsocket-transports/netty-tcp/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/tcp/NettyTcpServerTransport.kt b/rsocket-transports/netty-tcp/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/tcp/NettyTcpServerTransport.kt index 2ba6ab17..9566f451 100644 --- a/rsocket-transports/netty-tcp/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/tcp/NettyTcpServerTransport.kt +++ b/rsocket-transports/netty-tcp/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/tcp/NettyTcpServerTransport.kt @@ -31,10 +31,12 @@ import javax.net.ssl.* import kotlin.coroutines.* import kotlin.reflect.* +@OptIn(RSocketTransportApi::class) public sealed interface NettyTcpServerInstance : RSocketServerInstance { public val localAddress: SocketAddress } +@OptIn(RSocketTransportApi::class) public sealed interface NettyTcpServerTransport : RSocketTransport { public fun target(localAddress: SocketAddress? = null): RSocketServerTarget public fun target(host: String = "0.0.0.0", port: Int = 0): RSocketServerTarget @@ -43,6 +45,7 @@ public sealed interface NettyTcpServerTransport : RSocketTransport { RSocketTransportFactory(::NettyTcpServerTransportBuilderImpl) } +@OptIn(RSocketTransportApi::class) public sealed interface NettyTcpServerTransportBuilder : RSocketTransportBuilder { public fun channel(cls: KClass) public fun channelFactory(factory: ChannelFactory) @@ -134,6 +137,7 @@ private class NettyTcpServerTransportImpl( target(InetSocketAddress(host, port)) } +@OptIn(RSocketTransportApi::class) private class NettyTcpServerTargetImpl( override val coroutineContext: CoroutineContext, private val bootstrap: ServerBootstrap, diff --git a/rsocket-transports/netty-websocket/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/websocket/NettyWebSocketClientTransport.kt b/rsocket-transports/netty-websocket/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/websocket/NettyWebSocketClientTransport.kt index 35da0059..8befdcfd 100644 --- a/rsocket-transports/netty-websocket/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/websocket/NettyWebSocketClientTransport.kt +++ b/rsocket-transports/netty-websocket/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/websocket/NettyWebSocketClientTransport.kt @@ -33,6 +33,7 @@ import java.net.* import kotlin.coroutines.* import kotlin.reflect.* +@OptIn(RSocketTransportApi::class) public sealed interface NettyWebSocketClientTransport : RSocketTransport { public fun target(configure: WebSocketClientProtocolConfig.Builder.() -> Unit): RSocketClientTarget public fun target(uri: URI, configure: WebSocketClientProtocolConfig.Builder.() -> Unit = {}): RSocketClientTarget @@ -49,6 +50,7 @@ public sealed interface NettyWebSocketClientTransport : RSocketTransport { RSocketTransportFactory(::NettyWebSocketClientTransportBuilderImpl) } +@OptIn(RSocketTransportApi::class) public sealed interface NettyWebSocketClientTransportBuilder : RSocketTransportBuilder { public fun channel(cls: KClass) public fun channelFactory(factory: ChannelFactory) @@ -174,6 +176,7 @@ private class NettyWebSocketClientTransportImpl( } } +@OptIn(RSocketTransportApi::class) private class NettyWebSocketClientTransportTargetImpl( override val coroutineContext: CoroutineContext, private val bootstrap: Bootstrap, diff --git a/rsocket-transports/netty-websocket/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/websocket/NettyWebSocketServerTransport.kt b/rsocket-transports/netty-websocket/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/websocket/NettyWebSocketServerTransport.kt index 6d4097e5..bb16103f 100644 --- a/rsocket-transports/netty-websocket/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/websocket/NettyWebSocketServerTransport.kt +++ b/rsocket-transports/netty-websocket/src/jvmMain/kotlin/io/rsocket/kotlin/transport/netty/websocket/NettyWebSocketServerTransport.kt @@ -33,11 +33,13 @@ import javax.net.ssl.* import kotlin.coroutines.* import kotlin.reflect.* +@OptIn(RSocketTransportApi::class) public sealed interface NettyWebSocketServerInstance : RSocketServerInstance { public val localAddress: InetSocketAddress public val webSocketProtocolConfig: WebSocketServerProtocolConfig } +@OptIn(RSocketTransportApi::class) public sealed interface NettyWebSocketServerTransport : RSocketTransport { public fun target( @@ -57,6 +59,7 @@ public sealed interface NettyWebSocketServerTransport : RSocketTransport { RSocketTransportFactory(::NettyWebSocketServerTransportBuilderImpl) } +@OptIn(RSocketTransportApi::class) public sealed interface NettyWebSocketServerTransportBuilder : RSocketTransportBuilder { public fun channel(cls: KClass) public fun channelFactory(factory: ChannelFactory) @@ -168,6 +171,7 @@ private class NettyWebSocketServerTransportImpl( target(InetSocketAddress(host, port), path, protocol) } +@OptIn(RSocketTransportApi::class) private class NettyWebSocketServerTargetImpl( override val coroutineContext: CoroutineContext, private val bootstrap: ServerBootstrap, diff --git a/rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/NodejsTcpClientTransport.kt b/rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/NodejsTcpClientTransport.kt index 1fa43b41..498dbc8a 100644 --- a/rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/NodejsTcpClientTransport.kt +++ b/rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/NodejsTcpClientTransport.kt @@ -22,6 +22,7 @@ import io.rsocket.kotlin.transport.nodejs.tcp.internal.* import kotlinx.coroutines.* import kotlin.coroutines.* +@OptIn(RSocketTransportApi::class) public sealed interface NodejsTcpClientTransport : RSocketTransport { public fun target(host: String, port: Int): RSocketClientTarget @@ -29,6 +30,7 @@ public sealed interface NodejsTcpClientTransport : RSocketTransport { RSocketTransportFactory(::NodejsTcpClientTransportBuilderImpl) } +@OptIn(RSocketTransportApi::class) public sealed interface NodejsTcpClientTransportBuilder : RSocketTransportBuilder { public fun dispatcher(context: CoroutineContext) public fun inheritDispatcher(): Unit = dispatcher(EmptyCoroutineContext) @@ -58,6 +60,7 @@ private class NodejsTcpClientTransportImpl( ) } +@OptIn(RSocketTransportApi::class) private class NodejsTcpClientTargetImpl( override val coroutineContext: CoroutineContext, private val host: String, diff --git a/rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/NodejsTcpServerTransport.kt b/rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/NodejsTcpServerTransport.kt index a89b2f1a..f30d16e0 100644 --- a/rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/NodejsTcpServerTransport.kt +++ b/rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/NodejsTcpServerTransport.kt @@ -22,11 +22,13 @@ import io.rsocket.kotlin.transport.nodejs.tcp.internal.* import kotlinx.coroutines.* import kotlin.coroutines.* +@OptIn(RSocketTransportApi::class) public sealed interface NodejsTcpServerInstance : RSocketServerInstance { public val host: String public val port: Int } +@OptIn(RSocketTransportApi::class) public sealed interface NodejsTcpServerTransport : RSocketTransport { public fun target(host: String, port: Int): RSocketServerTarget @@ -34,6 +36,7 @@ public sealed interface NodejsTcpServerTransport : RSocketTransport { RSocketTransportFactory({ NodejsTcpServerTransportBuilderImpl }) } +@OptIn(RSocketTransportApi::class) public sealed interface NodejsTcpServerTransportBuilder : RSocketTransportBuilder { public fun dispatcher(context: CoroutineContext) public fun inheritDispatcher(): Unit = dispatcher(EmptyCoroutineContext) @@ -63,6 +66,7 @@ private class NodejsTcpServerTransportImpl( ) } +@OptIn(RSocketTransportApi::class) private class NodejsTcpServerTargetImpl( override val coroutineContext: CoroutineContext, private val host: String,