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.
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