add barrier in connect() function for processing MQTT subscriptions packets which are sent with retain bit in subscriptions
fixes "Dropped a packet" after connect with two or more subscriptions active
So the server sends the last retain value, which is processed after new subscription but the client expects a SUBACK packet and not a publish one. This happens only on multiple subscriptions at connect.
Disadvantages:
spend 500ms more in connection for each subscription. (see define)
add barrier in connect() function for processing MQTT subscriptions packets which are sent with retain bit in subscriptions fixes "Dropped a packet" after connect with two or more subscriptions active
client view:
server view: < send connect
So the server sends the last retain value, which is processed after new subscription but the client expects a SUBACK packet and not a publish one. This happens only on multiple subscriptions at connect.
Disadvantages: