All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.org.ton.api.dht.DhtNodes.kt Maven / Gradle / Ivy

package org.ton.api.dht

import io.ktor.utils.io.core.*
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.JsonClassDiscriminator
import org.ton.api.adnl.AdnlNodes
import org.ton.tl.*

@Serializable
@JsonClassDiscriminator("@type")
public data class DhtNodes(
    val nodes: Collection = emptyList()
) : TlObject, Collection by nodes {
    public fun toAdnlNodes(): AdnlNodes = AdnlNodes(nodes.map { it.toAdnlNode() })

    override fun tlCodec(): TlCodec = Companion

    public companion object : TlConstructor(
        schema = "dht.nodes nodes:(vector dht.node) = dht.Nodes"
    ) {
        override fun encode(writer: TlWriter, value: DhtNodes) {
            writer.writeCollection(value.nodes) {
                write(DhtNode, it)
            }
        }

        override fun decode(reader: TlReader): DhtNodes {
            val nodes = reader.readCollection {
                read(DhtNode)
            }
            return DhtNodes(nodes)
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy