SSP v1.7.5 can't publish long messages in mqtt

Hi everyone,

 

I updated SSP version from v.1.7.0 to v1.7.5, NetX Duo library comes to not publish long message(current length is 73732).

It always returned NX_SIZE_ERROR.

 

I managed to found where the code breaks at the error.

 

Why did they add check if message is settled within 1 packet?

With reverting it back, the code publishes long message successfully.

  • Hi tenballs,

    Have you already found out the reason to this one?

    JB
    RenesasRulz Forum Moderator

    https://renesasrulz.com/
    https://academy.renesas.com/
    https://en-us.knowledgebase.renesas.com/

  • In reply to JB:

    No.
    I am at a loss about where to ask if that problem is a bug or a specification change.

    SSP v1.7.5 release note says nothing about it.

    And it says previous version has thread hang when TLS is used.

    Fortunately I don't need secure connect, so I use v1.7.0 for now.

  • In reply to tenballs:

    Hi Tenballs-
    Here is what I hear from Express Logic:

    “The MQTT protocol is designed to send telemetry message which should be of small size. Thus, NetX MQTT is not designed to send large message. The limitation of the message size is the minimal value of packet payload size and NXD_MQTT_MAX_MESSAGE_LENGTH (defaults to 32 bytes). The limitation has existed since the first NetX MQTT release. A check is added in the 5.12 release to avoid a buffer overflow, which could happen in previous releases."


    Let me know if that makes sense.

  • In reply to WarrenM:

    From the X-Ware documentation for the MQTT client :-

     

  • In reply to Jeremy:

    HI Jeremy-
    Looks like it is already identified as a limitation.

    Thanx!
  • In reply to WarrenM:

    Hi Warren,

    Is this a limitation for receiving messages for a subscribed topic? The MTU and MAX_MQTTMAX_MESSAGE_LENGTH are both configurable. So is it a limitation that the client is incapable of both combining received packets into a single MQTT message and publishing a message split across multiple packets?
  • In reply to WarrenM:

    Hi Warren and Jeremy,


    Got it.
    It has been on my mind for some time the buffer is only alocated by the max message size and it is inefficiency when long meessage is used.
    But In the first place, it is unexpected usage.


    Thank you.