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.
pirms 6 gadiem
Christian Kratky
bddcbf6999
Refactor code.
pirms 6 gadiem
Christian Kratky
7181813f12
Fix pending messages overflow strategy issue.
pirms 6 gadiem
Christian Kratky
28efbcdb3d
Add max pending messages options for ManagedClient.
pirms 6 gadiem
Christian Kratky
682298b69f
Fix issue in pending messages handling for managed client.
pirms 6 gadiem
Christoph Stichlberger
80fbb2f0b2
Prevent unsubscription overtaking later subscription
pirms 6 gadiem
Christian Kratky
ce534baa75
Move the connection check interval of the ManagedClient to the options.
pirms 6 gadiem
Christian Kratky
e8d5bd7bfb
Add new properties and events for the managed client.
pirms 6 gadiem
Christian Kratky
bc20850fba
Refactor serializer locking and thread instances.
pirms 6 gadiem
Christian Kratky
6192685671
Remove batch sending of messages to prevent message reordering and several required awaits.
pirms 6 gadiem
Christian Kratky
20779dfece
Reorganize solution structure.
pirms 6 gadiem
Christian Kratky
78360bc24a
Add ID property for the ManagedMqttApplicationMessage.
pirms 6 gadiem
Christian Kratky
b05cb0d2ea
Move managed client to separate nuget.
pirms 6 gadiem
Christian Kratky
4838da48ef
Replace a manual lock with the lock class.
pirms 6 gadiem
Christian Kratky
137d1d181b
Refactor ManagedMqttClientStorage
pirms 6 gadiem
JTrotta
f844a8be5e
ManagedMqttClietStorage now works
pirms 6 gadiem
Christian
8df8cb1eb6
Refactor logging and add benchmark.
pirms 6 gadiem
Christian
af8d1ec6be
Refactoring
pirms 6 gadiem
Christian
ec41efd860
Fix client dead lock and protocol version issues.
pirms 6 gadiem
Christian
cea984cc2f
Fix stream and socket handling.
pirms 6 gadiem
Christian
b3a25fb9e8
Fix subscription handling of _ManagedClient_.
pirms 6 gadiem
Christian
c26555aca5
Refactor ManagedClient
pirms 6 gadiem
Christian
034e7fd750
Add event for processed application message (managed client only)
pirms 6 gadiem
Lassi Laati
2341d66192
Fix ManagedMqttClient missing call to unsubscribe topics
pirms 6 gadiem
Christian
c7c84ad39b
Make clients interfaces disposable.
pirms 6 gadiem
Christian Kratky
333fc4c387
Fixed an TLS issue in the MqttClientOptionsBuilder; Fix a subscription issue in the managed client.
pirms 7 gadiem
Christian Kratky
d12d2648b7
Add extension for RPC calls; replace locks; Refactored storage in Managed Client
pirms 7 gadiem
Christian Kratky
69781d822a
Update docs, fix managed client connection issue
pirms 7 gadiem
Christian Kratky
f9d67e2cd2
Merge proces, enable signing of the assembly.
pirms 7 gadiem
Christian Kratky
77b80dc53e
Removed 3rd-Party libraries.
pirms 7 gadiem
Christian Kratky
d0f1c18a2f
Server refactoring
pirms 7 gadiem
Christian Kratky
a18c533603
Refactor options and add options builder
pirms 7 gadiem
Christian Kratky
a9b394401b
Add support for chaning passwords
pirms 7 gadiem
Gerardo
29918fb454
Password Provider for dynamic password
pirms 7 gadiem
JanEggers
d10f29bbc6
initial version
pirms 7 gadiem
Christian Kratky
b52645f77a
Add new interface for application message receivers
pirms 7 gadiem
Christian Kratky
24c35de330
Refactor manage client
pirms 7 gadiem
Christian Kratky
11ade8c3df
Refactor tracing
pirms 7 gadiem
Christian Kratky
fe88b7551c
Refactor managed MQTT client
pirms 7 gadiem