Christoph Stichlberger
781c5d4d7d
Separate current and reconnect subscsriptions in managed client
This change kills several birds with one stone:
- by performing the re-publishing of all subscriptions only at reconnect it fixes issue https://github.com/chkr1011/MQTTnet/issues/569 (retained messages are received again with every new subscription that is added)
- not sending the subscriptions again with every (un)subscription is also a performance improvement if subscriptions are modified on a regular basis, because only the updated subscriptions are sent to the broker (previously, if you had 100 subscriptions and added a new one, 100 suscriptions were re-sent to the broker along with the new one, causing a significant delay)
-until now subscriptions were sent to the broker only every ConnectionCheckInterval which caused unnecessary delays, and for request-response patterns could cause reponse messages to be missed due to the subscription delay. Now (un)subscriptions are published immediately
Subscriptions are now cleaned up at logout (after the connection stops being maintained). This is in line with the clearing of the _messageQueue in StopAsync
Explanatory note: the _subscriptionsQueuedSignal could ideally be a ManualResetEvent(Slim) but those do not offer an awaitable Wait method, so a SemaphoreSlim is used. This possibly causes a few empty loops in PublishSubscriptionsAsync due to the semaphore being incremented with every SubscribeAsync call but all subscriptions getting processed in one sweep, but those empty loops shouldn't be a problem
5 years ago
Christian Kratky
b175119008
Refactoring and doc updates.
5 years ago
Christian Kratky
cfcb858423
Update libs.
5 years ago
Christian Kratky
5fa12649bf
Merge remote-tracking branch 'origin/develop' into develop
5 years ago
Christian
a9a09f4ecd
Merge pull request #754 from jltjohanlindqvist/branches/fixUnhandledTaskCrash
Remove if clause that stopped handling of tasks with exceptions
5 years ago
Christian Kratky
3ff5806dbb
Dispose queue in managed client.
5 years ago
Christian Kratky
0ec78cf5cc
Merge remote-tracking branch 'origin/develop' into develop
5 years ago
Christian
c3193c568a
Merge pull request #763 from zawodskoj/master
Fix for #762 - thread pool leak
5 years ago
Christian Kratky
a1f02284e9
Merge branch 'master' into develop
5 years ago
Christian Kratky
851db2e808
Merge remote-tracking branch 'origin/master'
5 years ago
Christian Kratky
073cd5243f
Update docs. Add UnitTests.
5 years ago
Jimmy Rosenskog
699558e47a
Added exception handling to make sure all tasks are observed to avoid UnobservedTaskException.
5 years ago
Бессонов Дмитрий
15ff03c136
use C#7.0 for default arguments
5 years ago
Бессонов Дмитрий
b12e3bc611
fix for #762
5 years ago
Johan x Lindqvist
61c3e02242
Updated exception message to be in line with other exception messages.
5 years ago
Johan x Lindqvist
5618c4c1f7
Always access the exception property on the task if it has status IsFaulted.
By checking the Exception property it will consider the task exception as handled which means the finalizer won't throw an unhandled task exception.
5 years ago
Johan x Lindqvist
ba9ceed7ce
Use Task.WhenAll to handle errors in both tasks.
Previously if there was an exception in the first task that is awaited the second task would not be awaited.
5 years ago
Johan x Lindqvist
ad1c198e43
Remove if clause that stopped handling of tasks with exceptions.
Now the task is always awaited and thus the exception in the task is handled.
5 years ago
SeppPenner
2918be18c6
Added automatic labels to the issue templates.
5 years ago
Christian
248e2a5bdd
Merge pull request #746 from bcrosnier/pr/mqtt5-assigned-client-id
Better handling of AssignedClientIdentifier - chkr1011/MQTTnet#745
5 years ago
Benjamin Crosnier
1a41415dd1
Allow AssignedClientIdentifier in ClientConnected, ClientDisconnected and ConnectedHandler - Fixes chkr1011/MQTTnet#745
5 years ago
Christian Kratky
9302e80d73
Merge branch 'develop'
5 years ago
Christian Kratky
cf6f0ece0e
Add test execution in build script.
5 years ago
Christian Kratky
50d65f2fed
Update nugets.
5 years ago
Christian Kratky
4614df7fa5
Update docs.
5 years ago
Christian
22aedcba09
Merge pull request #744 from JanEggers/pr/fix#743
fixed #743
5 years ago
Christian Kratky
2767d897a4
Fix serialization issue of MQTTv5 PubRec packet.
5 years ago
JanEggers
a4420063c0
fixed #743
5 years ago
Christian Kratky
2320352124
Update docs.
5 years ago
Christian Kratky
c0b4155ab4
Update docs.
5 years ago
Christian Kratky
b09f31d654
Fix TCP server adpater when using empty password.
5 years ago
Christian Kratky
30c33d46f9
Merge remote-tracking branch 'origin/develop' into develop
5 years ago
Christian
651b79a124
Merge pull request #740 from cslutgen/chain
Fix Client SslStream CRL verification
5 years ago
Christian Kratky
2e3cf54f11
Add support for different strategies when generating RPC topics.
5 years ago
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.
5 years ago
cslutgen
4cefa1dfa9
Merge pull request #2 from chkr1011/develop
Develop
5 years ago
Christian Kratky
0cfb8b4020
Remove not async task handling.
5 years ago
Christian Kratky
9ac726b271
Revert "Remove dedicated UWP builds and code."
This reverts commit 6d0e2c2022
.
5 years ago
Christian Kratky
232605304e
Revert "Update nugets."
This reverts commit 6c53677e7d
.
5 years ago
Christian Kratky
6c53677e7d
Update nugets.
5 years ago
Christian Kratky
6d0e2c2022
Remove dedicated UWP builds and code.
5 years ago
Christian Kratky
8ad1fb2871
Refactor server certificate classes (breaking change).
5 years ago
Christian Kratky
4a7ff9e9ed
Add TLS certificate password support for MQTTnet.Server.
5 years ago
Christian Kratky
f54598c201
Merge branch 'develop'
5 years ago
Christian Kratky
2300e68fff
Add UnitTests for RPC.
5 years ago
Christian Kratky
6996824157
Merge branch 'master' into develop
5 years ago
Christian Kratky
524f695829
Update docs.
5 years ago
Christian
72faa067cc
Merge pull request #729 from cslutgen/clientcerts
Add Server certificate password and client certificate builders
5 years ago
SeppPenner
01aa75471c
Updated description of issue templates.
5 years ago
HansM
048206eb1e
Fixed my spelling mistake from before.
5 years ago