MQTT Publish without callback? #629
Unanswered
johnchienbronci
asked this question in
Q&A
Replies: 1 comment 2 replies
-
IoT Core has a 100 publish per second per connection limit. In MQTT311, there is no way to negatively acknowledge a publish (ie reject) and so IoT Core just drops publishes that exceed that limit. In that case, there will never be a response; setting an operation timeout will cause the SDK client to give up waiting and notify you of a failure. Note that keeping the inflight publishes to < 100 doesn't address this limit since a good connection to AWS will enable you to exceed the 100 publish-per-second while staying under the inflight count (what MQTT5 calls ReceiveMaximum). To avoid this you have a couple of options:
|
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
aws-sdk-cpp: 1.11.145
I use the publish function to send IoT events. However, when dealing with a large number of publish() calls, I encounter situations where some packetId values don't have corresponding callback messages (the packet_id is always greater than 0).
I have a limitation that when the number of pending pubacks reaches 100, I will wait for the receipt of one puback before continuing to invoke publish().
The total number of invocations of the publish() function is approximately 1000. (The total packet count will not exceed the size limit of 512KB/s.)
a payload message length = 35 ~ 45 B
How should I resolve this issue?
Are there any other resource limitations?
Beta Was this translation helpful? Give feedback.
All reactions