Skip to content

Commit 7eb82e9

Browse files
committed
refactor byte strings
1 parent f6a756e commit 7eb82e9

File tree

97 files changed

+431
-907
lines changed

Some content is hidden

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

97 files changed

+431
-907
lines changed

adnl/src/Adnl.kt

Lines changed: 0 additions & 92 deletions
This file was deleted.

adnl/src/AdnlPeers.kt

Lines changed: 0 additions & 125 deletions
This file was deleted.

adnl/src/connection/AdnlClient.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package org.ton.adnl.connection
22

3-
import io.ktor.utils.io.core.*
43
import kotlin.time.Duration
54

65
public interface AdnlClient {
7-
public suspend fun sendQuery(data: ByteReadPacket, timeout: Duration): ByteReadPacket
6+
public suspend fun sendQuery(data: ByteArray, timeout: Duration): ByteArray
87
}

adnl/src/connection/AdnlClientImpl.kt

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,39 +3,33 @@ package org.ton.adnl.connection
33
import io.ktor.utils.io.core.*
44
import kotlinx.coroutines.SupervisorJob
55
import kotlinx.coroutines.withTimeout
6+
import kotlinx.io.bytestring.ByteString
67
import org.ton.api.adnl.message.AdnlMessageAnswer
78
import org.ton.api.adnl.message.AdnlMessageQuery
89
import org.ton.api.liteserver.LiteServerDesc
9-
import org.ton.tl.ByteString
10-
import org.ton.tl.asByteString
1110
import kotlin.random.Random
1211
import kotlin.time.Duration
1312

1413
public class AdnlClientImpl(
1514
private val liteServerDesc: LiteServerDesc
1615
) : AdnlClient {
17-
override suspend fun sendQuery(data: ByteReadPacket, timeout: Duration): ByteReadPacket {
16+
override suspend fun sendQuery(data: ByteArray, timeout: Duration): ByteArray {
1817
val adnlConnection = connectionPool.selectConnection(liteServerDesc)
19-
val queryId = ByteString.of(*Random.nextBytes(32))
18+
val queryId = ByteString(*Random.nextBytes(32))
2019
val context = SupervisorJob()
21-
val queryData = data.readBytes()
2220
try {
2321
return withTimeout(timeout) {
2422
val response = adnlConnection.execute(
2523
AdnlRequestData(
26-
buildPacket {
27-
AdnlMessageQuery.encodeBoxed(
28-
this, AdnlMessageQuery(queryId, queryData.asByteString())
29-
)
30-
}.readBytes(),
24+
AdnlMessageQuery.encodeToByteArray(
25+
AdnlMessageQuery(queryId, ByteString(*data)), true
26+
),
3127
context
3228
), context
3329
)
34-
ByteReadPacket(
35-
AdnlMessageAnswer.decodeBoxed(
36-
response.body
37-
).answer.toByteArray()
38-
)
30+
AdnlMessageAnswer.decodeBoxed(
31+
response.body.readBytes()
32+
).answer.toByteArray()
3933
}
4034
} catch (e: Throwable) {
4135
throw e

adnl/src/connection/AdnlConnection.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import kotlinx.datetime.Instant
1414
import org.ton.adnl.network.TcpClient
1515
import org.ton.api.liteserver.LiteServerDesc
1616
import org.ton.crypto.SecureRandom
17-
import org.ton.tl.writeByteString
1817
import kotlin.coroutines.CoroutineContext
1918
import kotlin.time.Duration
2019
import kotlin.time.Duration.Companion.ZERO
@@ -67,7 +66,7 @@ public class AdnlConnection(
6766
}
6867

6968
connection.output.writePacket {
70-
writeByteString(liteServerDesc.id.toAdnlIdShort().id)
69+
writeFully(liteServerDesc.id.toAdnlIdShort().id.toByteArray())
7170
writeFully(liteServerDesc.id.encrypt(nonce))
7271
}
7372
connection.output.flush()
@@ -185,8 +184,8 @@ public class AdnlConnection(
185184
val payload = packet.readBytes()
186185

187186
val hash = SHA256().apply {
188-
write(nonce)
189-
write(payload)
187+
update(nonce)
188+
update(payload)
190189
}.digest()
191190

192191
val data = buildPacket {

adnl/src/network/IPAddress.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.ton.adnl.network
22

3+
import kotlinx.io.bytestring.ByteString
34
import org.ton.adnl.ipv4
45
import org.ton.api.adnl.AdnlAddress
56
import org.ton.api.adnl.AdnlAddressUdp
@@ -54,7 +55,7 @@ public data class IPv6Address(
5455
override val host: String
5556
get() = TODO()
5657

57-
override fun toAdnlAddress(): AdnlAddressUdp6 = AdnlAddressUdp6(address, port)
58+
override fun toAdnlAddress(): AdnlAddressUdp6 = AdnlAddressUdp6(ByteString(address), port)
5859

5960
override fun toString(): String = "$host:$port"
6061
}

adnl/src/peer/AdnlMessagePartDecoder.kt

Lines changed: 0 additions & 45 deletions
This file was deleted.

0 commit comments

Comments
 (0)