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:
parent
37788bcbca
commit
7dc23b5fbe
@ -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)
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user