class

LavinMQ::MQTT::Client

Inherits LavinMQ::Persister::ConfirmTarget < LavinMQ::SortableJSON < LavinMQ::Stats < LavinMQ::Client < LavinMQ::SortableJSON < Reference < Object

Constants

Log = LavinMQ::Log.for("mqtt.client")

Constructors

new(io : Protocol::IO, connection_info : ConnectionInfo, user : Auth::BaseUser, broker : MQTT::Broker, client_id : String, protocol_version : ProtocolVersion, clean_session : Bool = false, keepalive : UInt16 = 30, will : Protocol::Will | Nil = nil)
Source

Instance methods

channel?(id : UInt16) : LavinMQ::Client::Channel | Nil
Source
channel_count
Source
channels
Source
clean_session?
Source
client_id
Source
client_name
Source
close(reason = "")

should only be used when server needs to froce close client

Source
connection_info
Source
current_stats_details

Like stats_details but without log

Source
details_tuple
Source
each_channel
Source
enqueue_confirm_ack(msgid : UInt64) : Nil

Non-blocking; if the 1-slot mailbox is full, the stale seq is dropped (confirms are cumulative).

Source
force_close
Source
name
Source
read_and_handle_packet
Source
receive_pingreq(packet : Protocol::PingReq)
Source
recieve_puback(packet : Protocol::PubAck)
Source
recieve_publish(packet : Protocol::Publish)
Source
recieve_subscribe(packet : Protocol::Subscribe)
Source
recieve_unsubscribe(packet : Protocol::Unsubscribe)
Source
recv_oct_count
Source
search_match?(value : String) : Bool
Source
search_match?(value : Regex) : Bool
Source
send(packet)
Source
send_oct_count
Source
socket
Source
state
Source
stats_details
Source
to_json(json : JSON::Builder)
Source
update_rates
Source
user
Source
vhost
Source

Nested types