Dominik Psenner
b9e0dbf150
Add extension methods that provide a simpler api for IMqttClient and IManagedMqttClient connect/disconnect when the handlers do not need async/await
5 years ago
Dominik Psenner
2000de15e7
Add async handlers for connect and disconnect, too
.. this allows a client to properly async publish on connect.
5 years ago
Dominik Psenner
5e6b902430
Add convenience extensions to the managed client
5 years ago
Dominik Psenner
a1f414a06d
Add async handler interfaces for connected and disconnected to allow async code to execute on connect
5 years ago
Berni
506873ed5b
fix logger logId not used in ManagedMqttClient
5 years ago
Christian Kratky
6a2bded181
Refactor session and connection handling in server. Fix QoS level 2 issues.
6 years ago
Christian Kratky
ebf0e91ab8
Refactor subscribe and unsubscribe to support MQTTv5.
6 years ago
Christian Kratky
c0507fcc55
Refactor interceptors etc. to support async.
6 years ago
Christian Kratky
cc113a6c34
Refactor namespaces.
6 years ago
Christian Kratky
619eaf284d
Add readonly property for client options.
6 years ago
Federico Di Gregorio
bc1a197c4f
Align conditions in dependent project with conditions in MQTTnet
6 years ago
Christian Kratky
43105f71d8
Refactor removal from blocking queue.
6 years ago
Paul Fake
2a93fc18e4
Made comparison function static
6 years ago
Paul Fake
31de6ee186
Delegate comparison function
6 years ago
Paul Fake
d1c3d9b453
Removed unnecessary code
6 years ago
Paul Fake
baa9241216
Revert "Changes to this file no longer needed"
This reverts commit 2c6c3ac6a4
.
6 years ago
Paul Fake
2c6c3ac6a4
Changes to this file no longer needed
6 years ago
Paul Fake
b2c31331b6
Peek-and-publish model
We had been seeing an issue in which the queue could grow larger than the configured cap. I examined the code and saw that this could happen if _mqttClient.PublishAsync() throws an exception, in which case a message can be re-enqueued without honoring the cap. Furthermore, I saw that it was possible for the DropOldestQueuedMessage strategy to drop messages that were not actually the oldest ones, because when re-enqueueing the messages in the queue are no longer ordered by the original time they entered the queue. It made sense to us to peek at the message when publishing rather than dequeue it, so that when re-enqueueing after an exception 1) the cap is still honored and 2) the order of queued messages isn't altered. It's ok if another thread removes the message that's currently being published from the queue due to the cap, because all we have to do then is check if it's already been removed before removing it ourselves.
6 years ago
Paul Fake
210d57b254
IEquatable for speed
IEquatable for speed in using EqualityComparer<TItem>.Default.Equals
6 years ago
Christian Kratky
bddcbf6999
Refactor code.
6 years ago
Christian Kratky
7181813f12
Fix pending messages overflow strategy issue.
6 years ago
Christian Kratky
28efbcdb3d
Add max pending messages options for ManagedClient.
6 years ago
Christian Kratky
682298b69f
Fix issue in pending messages handling for managed client.
6 years ago
Christoph Stichlberger
80fbb2f0b2
Prevent unsubscription overtaking later subscription
6 years ago
Jens-Christian Skibakk
740a35b018
Skip build uap10.0 when using dotnet cli
6 years ago
Christian Kratky
ce534baa75
Move the connection check interval of the ManagedClient to the options.
6 years ago
Jan Eggers
4fc1912ee8
fixed assembly versions
6 years ago
Christian Kratky
e8d5bd7bfb
Add new properties and events for the managed client.
6 years ago
Christian Kratky
bc20850fba
Refactor serializer locking and thread instances.
6 years ago
Christian Kratky
6192685671
Remove batch sending of messages to prevent message reordering and several required awaits.
6 years ago
Christian Kratky
20779dfece
Reorganize solution structure.
6 years ago