Christian Kratky
b175119008
Refactoring and doc updates.
2019-10-04 20:01:51 +02:00
Christian Kratky
3ff5806dbb
Dispose queue in managed client.
2019-10-03 15:26:33 +02:00
Бессонов Дмитрий
b12e3bc611
fix for #762
2019-09-30 16:05:23 +03:00
Craig Lutgen
d7948afd98
Fix client SslStream certificate chain CRL validation. The logic was inverse and CRLs were never checked.
...
Add a missing dispose in managed client.
2019-08-12 17:34:05 -05:00
Christian Kratky
9cc96f1888
Refactor log messages.
2019-07-30 20:01:45 +02:00
Paul Fake
e1590fc0c8
Fixed storage queue race condition
...
Sometimes, TryPublishQueuedMessageAsync would try to remove a message from the storage queue before PublishAsync added it to the storage queue, resulting in a message being stuck in the storage queue forever. Switched the message queue lock to an async lock and synchronized the storage queue updates with the message queue updates.
2019-07-17 16:55:56 -04:00
Christian Kratky
dd96cf98a8
Make storage update for managed client async.
2019-06-23 15:57:48 +02:00
vbBerni
a9017b8795
handle storage manager null
2019-06-22 22:31:48 +02:00
vbBerni
f76e130283
fix for failed publishing messages get removed from the message queue but not from the storage manager
2019-06-19 16:33:54 +02:00
Christian Kratky
efc6f124b4
Merge remote-tracking branch 'origin/develop' into develop
2019-03-22 20:37:16 +01:00
Christian Kratky
7c3d88f62d
Add validation for topics before publishing.
2019-03-22 20:37:14 +01:00
Christian
b383a54416
Merge pull request #547 from vbBerni/develop
...
Fix Managed Client should dispose inner mqtt client #527
2019-03-22 20:31:24 +01:00
Christian Kratky
03bfc5f00b
Refactor event handler namings.
2019-03-08 23:47:51 +01:00
Christian Kratky
8708609498
Add more function mappings for MQTTnet Server.
2019-03-06 22:42:00 +01:00
vbBerni
2a4eb460da
StopAsync now waits until the managed client is stoped and more typical disposing of internal client
2019-02-16 22:23:45 +01:00
Dominik Psenner
2000de15e7
Add async handlers for connect and disconnect, too
...
.. this allows a client to properly async publish on connect.
2019-02-15 17:02:33 +01:00
Dominik Psenner
a1f414a06d
Add async handler interfaces for connected and disconnected to allow async code to execute on connect
2019-02-15 15:02:15 +01:00
Berni
de3a39bdc2
Fix Managed Client should dispose inner mqtt client #527
2019-02-07 16:46:58 +01:00
Christian Kratky
6a2bded181
Refactor session and connection handling in server. Fix QoS level 2 issues.
2019-01-27 11:15:32 +01:00
Christian Kratky
ebf0e91ab8
Refactor subscribe and unsubscribe to support MQTTv5.
2019-01-21 21:38:39 +01:00
Christian Kratky
cc113a6c34
Refactor namespaces.
2018-12-20 20:53:29 +01:00
Christian Kratky
619eaf284d
Add readonly property for client options.
2018-12-03 21:20:11 +01:00
Christian Kratky
43105f71d8
Refactor removal from blocking queue.
2018-11-23 22:56:10 +01:00
Paul Fake
2a93fc18e4
Made comparison function static
2018-11-21 21:44:26 -05:00
Paul Fake
31de6ee186
Delegate comparison function
2018-11-21 21:39:42 -05:00
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.
2018-11-19 21:20:50 -05:00
Christian Kratky
bddcbf6999
Refactor code.
2018-11-05 22:39:56 +01:00
Christian Kratky
7181813f12
Fix pending messages overflow strategy issue.
2018-11-04 20:33:44 +01:00
Christian Kratky
28efbcdb3d
Add max pending messages options for ManagedClient.
2018-10-29 21:45:01 +01:00
Christian Kratky
682298b69f
Fix issue in pending messages handling for managed client.
2018-09-13 09:29:26 +02:00
Christoph Stichlberger
80fbb2f0b2
Prevent unsubscription overtaking later subscription
2018-08-02 16:25:14 +02:00
Christian Kratky
ce534baa75
Move the connection check interval of the ManagedClient to the options.
2018-07-04 22:20:24 +02:00
Christian Kratky
e8d5bd7bfb
Add new properties and events for the managed client.
2018-06-21 20:42:44 +02:00
Christian Kratky
bc20850fba
Refactor serializer locking and thread instances.
2018-06-19 20:52:31 +02:00
Christian Kratky
6192685671
Remove batch sending of messages to prevent message reordering and several required awaits.
2018-06-15 00:19:51 +02:00
Christian Kratky
20779dfece
Reorganize solution structure.
2018-06-11 00:00:30 +02:00