Skip to content

Commit 9fb16df

Browse files
committed
Migrate to kotlinx-io and ktor 3.0
1 parent dc76dc4 commit 9fb16df

File tree

124 files changed

+962
-1195
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

124 files changed

+962
-1195
lines changed

README.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ val stream: Flow<Payload> = rSocket.requestStream(
117117

118118
//take 5 values and print response
119119
stream.take(5).collect { payload: Payload ->
120-
println(payload.data.readText())
120+
println(payload.data.readString())
121121
}
122122
```
123123

@@ -143,20 +143,20 @@ embeddedServer(CIO) {
143143
routing {
144144
//configure route `/rsocket`
145145
rSocket("rsocket") {
146-
println(config.setupPayload.data.readText()) //print setup payload data
146+
println(config.setupPayload.data.readString()) //print setup payload data
147147

148148
RSocketRequestHandler {
149149
//handler for request/response
150150
requestResponse { request: Payload ->
151-
println(request.data.readText()) //print request payload data
151+
println(request.data.readString()) //print request payload data
152152
delay(500) // work emulation
153153
buildPayload {
154154
data("""{ "data": "Server response" }""")
155155
}
156156
}
157157
//handler for request/stream
158158
requestStream { request: Payload ->
159-
println(request.data.readText()) //print request payload data
159+
println(request.data.readString()) //print request payload data
160160
flow {
161161
repeat(10) { i ->
162162
emit(
@@ -208,7 +208,7 @@ val connector = RSocketConnector {
208208
val rsocket: RSocket = connector.connect(transport)
209209
//use rsocket to do request
210210
val response = rsocket.requestResponse(buildPayload { data("""{ "data": "hello world" }""") })
211-
println(response.data.readText())
211+
println(response.data.readString())
212212
```
213213

214214
Example of usage standalone server transport:
@@ -223,7 +223,7 @@ val server: TcpServer = server.bind(transport) {
223223
RSocketRequestHandler {
224224
//handler for request/response
225225
requestResponse { request: Payload ->
226-
println(request.data.readText()) //print request payload data
226+
println(request.data.readString()) //print request payload data
227227
delay(500) // work emulation
228228
buildPayload {
229229
data("""{ "data": "Server response" }""")
@@ -267,7 +267,7 @@ val stream: Flow<Payload> = client.requestStream(Payload("data"))
267267
//so on call `collect`, requestStream frame with requestN will be sent, and then, after 5 elements will be collected
268268
//new requestN with 5 will be sent, so collect will be smooth
269269
stream.flowOn(PrefetchStrategy(requestSize = 10, requestOn = 5)).collect { payload: Payload ->
270-
println(payload.data.readText())
270+
println(payload.data.readString())
271271
}
272272
```
273273

gradle/libs.versions.toml

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
[versions]
22
kotlin = "2.1.0"
33

4+
kotlinx-io = "0.6.0"
45
kotlinx-atomicfu = "0.26.0"
56
kotlinx-coroutines = "1.9.0"
67
kotlinx-benchmark = "0.4.8"
78
kotlinx-bcv = "0.16.3"
89

9-
ktor = "2.3.12"
10+
ktor = "3.0.1"
1011

1112
netty = "4.1.115.Final"
1213
netty-quic = "0.0.69.Final"
@@ -23,6 +24,7 @@ jmh = "1.36"
2324
maven-publish = "0.30.0"
2425

2526
[libraries]
27+
kotlinx-io-core = { module = "org.jetbrains.kotlinx:kotlinx-io-core", version.ref = "kotlinx-io" }
2628
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" }
2729
kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" }
2830
kotlinx-coroutines-reactor = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-reactor", version.ref = "kotlinx-coroutines" }

ktor-plugins/ktor-server-rsocket/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketConnectionTest.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ import io.ktor.server.websocket.WebSockets as ServerWebSockets
3636
import io.rsocket.kotlin.ktor.client.RSocketSupport as ClientRSocketSupport
3737
import io.rsocket.kotlin.ktor.server.RSocketSupport as ServerRSocketSupport
3838

39-
class WebSocketConnectionTest : SuspendTest, TestWithLeakCheck {
39+
class WebSocketConnectionTest : SuspendTest {
4040
private val client = HttpClient(ClientCIO) {
4141
install(ClientWebSockets)
4242
install(ClientRSocketSupport) {
@@ -57,7 +57,7 @@ class WebSocketConnectionTest : SuspendTest, TestWithLeakCheck {
5757
install(ServerRSocketSupport) {
5858
server(TestServer())
5959
}
60-
install(Routing) {
60+
routing {
6161
rSocket {
6262
RSocketRequestHandler {
6363
requestStream {
@@ -87,7 +87,7 @@ class WebSocketConnectionTest : SuspendTest, TestWithLeakCheck {
8787

8888
@Test
8989
fun testWorks() = test {
90-
val port = server.resolvedConnectors().single().port
90+
val port = server.engine.resolvedConnectors().single().port
9191
val rSocket = client.rSocket(port = port)
9292
val requesterJob = rSocket.coroutineContext.job
9393

0 commit comments

Comments
 (0)