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

commonMain.org.ton.api.http.server.HttpServerHost.kt Maven / Gradle / Ivy

package org.ton.api.http.server

import kotlinx.serialization.SerialName
import org.ton.api.adnl.AdnlIdShort
import org.ton.tl.*

public data class HttpServerHost(
    val domains: Collection,
    val ip: Int,
    val port: Int,
    @SerialName("adnl_id")
    val adnlId: AdnlIdShort
) {
    public companion object : TlCodec by HttpServerHostTlConstructor
}

private object HttpServerHostTlConstructor : TlConstructor(
    schema = "http.server.host domains:(vector string) ip:int32 port:int32 adnl_id:adnl.id.short = http.server.Host"
) {
    override fun decode(input: TlReader): HttpServerHost {
        val domains = input.readCollection {
            readString()
        }
        val ip = input.readInt()
        val port = input.readInt()
        val adnl_id = input.read(AdnlIdShort)
        return HttpServerHost(domains, ip, port, adnl_id)
    }

    override fun encode(output: TlWriter, value: HttpServerHost) {
        output.writeCollection(value.domains) {
            writeString(it)
        }
        output.writeInt(value.ip)
        output.writeInt(value.port)
        output.write(AdnlIdShort, value.adnlId)
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy