logicaloud
logicaloud
I have noticed that the new philosophy is to use the event handler based approach on MqttServer; this works fine for me. Closing.
@fogzot I think you can do the same as with `IMqttRetainedMessagesManager`. Instead of `.WithRetainedMessagesManager(...)` you hook up events like so: ``` server.RetainedMessageChangedAsync += Server_RetainedMessageChangedAsync; server.LoadingRetainedMessageAsync += Server_LoadingRetainedMessageAsync; server.RetainedMessagesClearedAsync += Server_RetainedMessagesClearedAsync;...
The interface is more concise and convenient for extension developers, I agree, but whether retained message payloads are held in memory or for how long, etc., is dictated by the...
There is a `RoundtripBenchmark` included in the sources at `MQTTnet\Source\MQTTnet.Benchmarks` that processes 100000 messages locally (local client, local broker; option `b` in the `MQTTnet.Benchmarks.exe`). On my lowly 9 year old...
I'd like to look into implementing the interfaces required to have an extensible solution similar to what is done with the retained message manager. There are already interfaces `IMqttServerPersistedSessionsStorage` and...
@chkr1011, thank you. Yes, the interfaces/extension points must give the implementer the opportunity to follow the MQTT specification to the letter. That means interface methods for storage must be called...
There are quite a few touch points in code where the "Persistent Session Manager" interface needs to be called but it all looks good so far. Because I have been...
Should the `_isDisposed` check in `WaitAsync` move inside the `_syncRoot` lock a bit further down?
I was thinking about multithreaded access where the bool is modified in one thread, then sits in a register and another thread reads a stale value. Maybe the bool could...
Does using `ConfigureAwait(false)` after `PublishAsync` make any difference?