1
0
mirror of https://github.com/mamoe/mirai.git synced 2025-04-25 04:50:26 +08:00

Add BytePacketBuilder.writeProtoBuf

This commit is contained in:
Him188 2020-01-29 19:14:26 +08:00
parent 37788bcbca
commit 7dc23b5fbe

View File

@ -1,7 +1,9 @@
package net.mamoe.mirai.qqandroid.io
import kotlinx.io.core.BytePacketBuilder
import kotlinx.io.core.Input
import kotlinx.io.core.readBytes
import kotlinx.io.core.writeFully
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerializationStrategy
@ -10,6 +12,10 @@ import kotlinx.serialization.SerializationStrategy
*/
interface ProtoBuf
fun <T : ProtoBuf> BytePacketBuilder.writeProtoBuf(serializer: SerializationStrategy<T>, v: T) {
this.writeFully(v.toByteArray(serializer))
}
/**
* dump
*/
@ -20,8 +26,8 @@ fun <T : ProtoBuf> T.toByteArray(serializer: SerializationStrategy<T>): ByteArra
/**
* load
*/
fun <T : ProtoBuf> ByteArray.loadAs(serializer: DeserializationStrategy<T>): T {
return kotlinx.serialization.protobuf.ProtoBuf.load(serializer, this)
fun <T : ProtoBuf> ByteArray.loadAs(deserializer: DeserializationStrategy<T>): T {
return kotlinx.serialization.protobuf.ProtoBuf.load(deserializer, this)
}
/**