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

commonMain.mqtt.packets.mqttv4.MQTT4Unsuback.kt Maven / Gradle / Ivy

There is a newer version: 0.4.8
Show newest version
package mqtt.packets.mqttv4

import mqtt.packets.MQTTControlPacketType
import mqtt.packets.MQTTDeserializer
import mqtt.packets.mqtt.MQTTUnsuback
import socket.streams.ByteArrayInputStream
import socket.streams.ByteArrayOutputStream

public class MQTT4Unsuback(
    packetIdentifier: UInt
) : MQTTUnsuback(packetIdentifier), MQTT4Packet {

    public companion object : MQTTDeserializer {

        override fun fromByteArray(flags: Int, data: UByteArray): MQTT4Unsuback {
            MQTT4Unsuback.checkFlags(flags)
            val inStream = ByteArrayInputStream(data)

            val packetIdentifier = inStream.read2BytesInt()

            return MQTT4Unsuback(packetIdentifier)
        }

    }

    override fun toByteArray(): UByteArray {
        val outStream = ByteArrayOutputStream()

        outStream.write2BytesInt(packetIdentifier)

        return outStream.wrapWithFixedHeader(MQTTControlPacketType.UNSUBACK, 0)
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy