You are reading a single comment by @Gordon and its replies. Click here to read the full conversation.
  • I'd be interested to hear what you're worried about quality-wise. Some things are done specifically to make it more space-efficient, so if you're not careful you may find that your version uses a lot more memory.

    What are the fixed issues? It would at least be worth trying to pull those back into the current MQTT library.

  • Hi Gordon,

    Here are some issues I found:

    1. When there is a problem connecting it throws a JavaScript error. For this I created a pull request.
    2. When receiving multiple Publish packets at once, it only sees the first one. This is a common scenario when subscribing and receiving some retained messages from the broker, but also if another client publishes multiple messages.
    3. When parsing Publish packets it does not take into account that a QoS 0 message does not have a packet id, therefore the message the parser returns is malformed when receiving multiple Publish packets at once.
    4. It does not send PubAck messages. This results in the broker re-sending QoS 1 Publish packets over and over again.

    I would be happy to help getting those fixes back in, no problem. Maybe it's also a good idea if we would coo-operate on my rewrite. It's fully covered by tests, which definitively helps to keep the quality high. What do you think about that?

    Of course I am also concerned about the available space on the device, therefore I would only add what is required for a stand-alone MQTT controlled device and I would remove what's not really needed. Do you have some advise for me how to keep it small and how to keep the memory usage as low as possible?

About

Avatar for Gordon @Gordon started