class MQTT::V3::Publish

Defined in:

mqtt/v3/publish.cr

Constant Summary

ENDIAN = ["big"]
KLASS_NAME = [MQTT::V3::Publish]
PARTS = [{type: "basic", name: topic_size, cls: UInt16, onlyif: nil, verify: nil, value: -> do topic.bytesize end, endian: nil}, {type: "string", name: topic, cls: String, onlyif: nil, verify: nil, length: -> do topic_size end, value: nil, encoding: nil}, {type: "basic", name: message_id, cls: UInt16, onlyif: -> do qos? end, verify: nil, value: nil, endian: nil}, {type: "bytes", name: payload, cls: Slice(UInt8), onlyif: nil, verify: nil, length: -> do len = packet_length - (topic.bytesize + 2) if qos? len = len - 2 end len end, value: nil}] of Nil
REMAINING = [] of Nil

Class Method Summary

Macro Summary

Instance Method Summary

Instance methods inherited from class MQTT::V3::Header

__format__ : IO::ByteFormat __format__, duplicate : Bool duplicate, duplicate=(duplicate : UInt8)
duplicate=(value : Bool)
duplicate=
, id : MQTT::RequestType id, id=(id : UInt8)
id=(value : MQTT::RequestType)
id=
, packet_length : UInt32 packet_length, packet_length=(size : UInt32) : UInt32 packet_length=, qos : MQTT::QoS qos, qos=(qos : UInt8)
qos=(value : MQTT::QoS)
qos=
, qos? qos?, retain : Bool retain, retain=(retain : UInt8)
retain=(value : Bool)
retain=
, variable_length1 : UInt8 variable_length1, variable_length1=(variable_length1 : UInt8) variable_length1=, variable_length2 : UInt8 variable_length2, variable_length2=(variable_length2 : UInt8) variable_length2=, variable_length3 : UInt8 variable_length3, variable_length3=(variable_length3 : UInt8) variable_length3=, variable_length4 : UInt8 variable_length4, variable_length4=(variable_length4 : UInt8) variable_length4=

Class methods inherited from class MQTT::V3::Header

bit_fields bit_fields

Macros inherited from class MQTT::V3::Header

mqtt_v3_header(name, onlyif = nil, verify = nil, value = nil) mqtt_v3_header

Class Method Detail

def self.bit_fields #

[View source]

Macro Detail

macro mqtt_v3_ack(name, onlyif = nil, verify = nil, value = nil) #

[View source]
macro mqtt_v3_connack(name, onlyif = nil, verify = nil, value = nil) #

[View source]
macro mqtt_v3_connect(name, onlyif = nil, verify = nil, value = nil) #

[View source]
macro mqtt_v3_empty_packet(name, onlyif = nil, verify = nil, value = nil) #

[View source]
macro mqtt_v3_header(name, onlyif = nil, verify = nil, value = nil) #

[View source]
macro mqtt_v3_publish(name, onlyif = nil, verify = nil, value = nil) #

[View source]

Instance Method Detail

def __format__ : IO::ByteFormat #

[View source]
def calculate_length : UInt32 #

[View source]
def message_id : UInt16 #

def message_id=(message_id : UInt16) #

def payload : Bytes #

The data to be published


def payload=(payload : Bytes) #

The data to be published


def payload=(message) #

[View source]
def topic : String #

def topic=(topic : String) #

def topic_size : UInt16 #

def topic_size=(topic_size : UInt16) #