QoS - Clean Session
When a client that supports QoS
disconnects from a controller the server will continue to subscribe
for all topics
that the client had subscriptions for when disconnecting.
If messages with topics
that match the subscriptions
arrive the server will store them if the QoS level
is greater than 0 or if the retain flag is set.
Later when the client reconnects to the controller the server will send out any messages that arrived while the client was offline.
Note that the lambda expressions InvokeTo<T>(Func<T,bool> exp, ...) / PublishTo<T>(Func<T,bool> exp, ...) will work since the server will store persistent properties as well. See Persistent Properties sections for more information
Request a clean session
If the client requests a clean session the server will not send out any messages that arrived while the client was offline. And... The server will not subscribe to topics when the client disconnects.
Sample
In the C# client the functionality for requesting a clean session is built-in, but we can fake the scenario with Putty since all it takes is to pass the cs
key in the connecting querystring
.
TODO