Closed yunglook closed 2 years ago
I've never used one. Usually, I'm disconnecting from the broker (so I'm unsubscribing by default all my subscriptions). I've added the unsubscribe method to the client now, please test it and let me know if it's ok for you.
It's a copy and replace from the subscribe method, I hope I haven't missed anything here.
Thanks for the quick response!
In your commit you added an unsubscribe method for unsubscribing from a list of topics. What if I wanted to unsubscribe from a single one?
I added the following function in addition to your changes:
// Unsubscribe from a topic.
MQTTv5::ErrorType MQTTv5::unsubscribe(const char * _topic, Properties * properties)
{
if (_topic == nullptr)
return ErrorType::BadParameter;
// Create the unsubscribe topic here
Protocol::MQTT::V5::UnsubscribeTopic topic(_topic, true);
// Then proceed to unsubscribing
return unsubscribe(topic, properties);
}
However, when I call this function I get an error that returns -1. Did I implement this correctly? Or is it possible to unsubscribe from a single topic with just your changes?
Cheers
That's perfectly how you should have written it. Congratulations!
I've added test code for the function and indeed, I was computing the payload size wrongly for unsubscribe packet. The last commit should have fixed the issue. Let me know if it's ok for you!
It's working perfectly, thank you very much!
Why is there no unsubscribe function?
Is there a reason for it?
If useful, how could it be implemented?