From b555e93d789bab31a836ae6575d050eb5a5bab52 Mon Sep 17 00:00:00 2001 From: Christina Date: Mon, 27 Jan 2025 10:16:31 +0100 Subject: [PATCH] send in whole client when declaring a session --- src/lavinmq/mqtt/broker.cr | 2 +- src/lavinmq/mqtt/sessions.cr | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lavinmq/mqtt/broker.cr b/src/lavinmq/mqtt/broker.cr index d8f311998e..5aee32be67 100644 --- a/src/lavinmq/mqtt/broker.cr +++ b/src/lavinmq/mqtt/broker.cr @@ -74,7 +74,7 @@ module LavinMQ end def subscribe(client, packet) - session = sessions[client.client_id]? || sessions.declare(client.client_id, client.@clean_session) + session = sessions[client.client_id]? || sessions.declare(client) session.client = client qos = Array(MQTT::SubAck::ReturnCode).new(packet.topic_filters.size) packet.topic_filters.each do |tf| diff --git a/src/lavinmq/mqtt/sessions.cr b/src/lavinmq/mqtt/sessions.cr index 3127226699..645a17cbb8 100644 --- a/src/lavinmq/mqtt/sessions.cr +++ b/src/lavinmq/mqtt/sessions.cr @@ -18,10 +18,10 @@ module LavinMQ @queues["mqtt.#{client_id}"].as(Session) end - def declare(client_id : String, clean_session : Bool) - self[client_id]? || begin - @vhost.declare_queue("mqtt.#{client_id}", !clean_session, clean_session, AMQP::Table.new({"x-queue-type": "mqtt"})) - self[client_id] + def declare(client : Client) + self[client.client_id]? || begin + @vhost.declare_queue("mqtt.#{client.client_id}", !client.@clean_session, client.@clean_session, AMQP::Table.new({"x-queue-type": "mqtt"})) + self[client.client_id] end end