Skip to content

Commit bfbab08

Browse files
committed
use ktor 2.3.13
1 parent bf7c344 commit bfbab08

3 files changed

Lines changed: 11 additions & 9 deletions

File tree

common/src/main/java/com/pedro/common/socket/ktor/TcpStreamSocketKtorBase.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ import io.ktor.network.sockets.openReadChannel
88
import io.ktor.network.sockets.openWriteChannel
99
import io.ktor.utils.io.ByteReadChannel
1010
import io.ktor.utils.io.ByteWriteChannel
11+
import io.ktor.utils.io.close
1112
import io.ktor.utils.io.readFully
1213
import io.ktor.utils.io.readUTF8Line
13-
import io.ktor.utils.io.writeByte
1414
import io.ktor.utils.io.writeFully
1515
import kotlinx.coroutines.Dispatchers
1616
import java.net.InetAddress
@@ -37,7 +37,10 @@ abstract class TcpStreamSocketKtorBase(
3737
}
3838

3939
override suspend fun close() {
40-
runCatching { output?.flushAndClose() }
40+
runCatching {
41+
output?.flush()
42+
output?.close()
43+
}
4144
runCatching {
4245
address = null
4346
input = null
@@ -52,7 +55,7 @@ abstract class TcpStreamSocketKtorBase(
5255
}
5356

5457
override suspend fun write(bytes: ByteArray, offset: Int, size: Int) {
55-
output?.writeFully(bytes, offset, offset + size)
58+
output?.writeFully(bytes, offset, size)
5659
}
5760

5861
override suspend fun write(b: Int) {

common/src/main/java/com/pedro/common/socket/ktor/UdpStreamSocketKtor.kt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,9 @@ import io.ktor.network.sockets.Datagram
88
import io.ktor.network.sockets.InetSocketAddress
99
import io.ktor.network.sockets.aSocket
1010
import io.ktor.network.sockets.isClosed
11-
import io.ktor.utils.io.core.remaining
11+
import io.ktor.utils.io.core.ByteReadPacket
12+
import io.ktor.utils.io.core.readBytes
1213
import kotlinx.coroutines.Dispatchers
13-
import kotlinx.io.Buffer
14-
import kotlinx.io.readByteArray
1514
import java.net.ConnectException
1615
import java.net.InetAddress
1716

@@ -51,15 +50,15 @@ class UdpStreamSocketKtor(
5150
}
5251

5352
override suspend fun write(bytes: ByteArray) {
54-
val datagram = Datagram(Buffer().apply { write(bytes, 0, bytes.size) }, address)
53+
val datagram = Datagram(ByteReadPacket(bytes), address)
5554
socket?.send(datagram)
5655
}
5756

5857
override suspend fun read(): ByteArray {
5958
val socket = socket ?: throw ConnectException("Read with socket closed, broken pipe")
6059
val packet = socket.receive().packet
6160
val length = packet.remaining.toInt()
62-
return packet.readByteArray().sliceArray(0 until length)
61+
return packet.readBytes().sliceArray(0 until length)
6362
}
6463

6564
override fun isConnected(): Boolean = socket?.isClosed != true

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ dokka = "2.0.0"
99
appcompat = "1.6.1"
1010
#noinspection GradleDependency, version 2.2.0 need min sdk 21
1111
constraintlayout = "2.1.4"
12-
ktor = "3.3.2"
12+
ktor = "2.3.13"
1313
camerax = "1.5.1"
1414
multidex = "2.0.1"
1515
annotation = "1.9.1"

0 commit comments

Comments
 (0)