Будет ли обратный вызов с полной доставкой никогда - или иногда - вызываться при публикации сообщения QoS0? - PullRequest
0 голосов
/ 22 мая 2019

Этот вопрос следует из В чем разница между обратными вызовами MQTTAsync_onSuccess и MQTTAsync_deliveryComplete?

Мой пример приложения, в котором используются вызовы библиотеки paho C MQTTAsync_setDeliveryCompleteCallback () для установки обратного вызова с полной доставкой.

Я замечаю, что когда я публикую сообщение с QoS0, этот обратный вызов никогда не вызывается . Когда сообщение публикуется с QoS1 или QoS2, этот обратный вызов вызывается надежно. ( Я основываю «никогда» и «надежно» на примерно дюжине испытаний, а mqtt сервер работает на локальном хосте, что, вероятно, устраняет ненадежность сети ).

Я понимаю три уровня QoS, и, в частности, QoS0 не гарантирует доставку. Но Ожидается ли / гарантируется ли, что публикация сообщения с QoS0 приведет к обратному вызову с полной доставкой никогда ? Или может быть вызван полный вызов , иногда ?

Благодарен за руководство.

...