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
před 5 roky
Christian Kratky
b175119008
Refactoring and doc updates.
před 5 roky
Christian Kratky
cfcb858423
Update libs.
před 5 roky
Christian Kratky
5fa12649bf
Merge remote-tracking branch 'origin/develop' into develop
před 5 roky
Christian
a9a09f4ecd
Merge pull request #754 from jltjohanlindqvist/branches/fixUnhandledTaskCrash
Remove if clause that stopped handling of tasks with exceptions
před 5 roky
Christian Kratky
3ff5806dbb
Dispose queue in managed client.
před 5 roky
Christian Kratky
0ec78cf5cc
Merge remote-tracking branch 'origin/develop' into develop
před 5 roky
Christian
c3193c568a
Merge pull request #763 from zawodskoj/master
Fix for #762 - thread pool leak
před 5 roky
Christian Kratky
a1f02284e9
Merge branch 'master' into develop
před 5 roky
Christian Kratky
851db2e808
Merge remote-tracking branch 'origin/master'
před 5 roky
Christian Kratky
073cd5243f
Update docs. Add UnitTests.
před 5 roky
Jimmy Rosenskog
699558e47a
Added exception handling to make sure all tasks are observed to avoid UnobservedTaskException.
před 5 roky
Бессонов Дмитрий
15ff03c136
use C#7.0 for default arguments
před 5 roky
Бессонов Дмитрий
b12e3bc611
fix for #762
před 5 roky
Johan x Lindqvist
61c3e02242
Updated exception message to be in line with other exception messages.
před 5 roky
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.
před 5 roky
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.
před 5 roky
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.
před 5 roky
SeppPenner
2918be18c6
Added automatic labels to the issue templates.
před 5 roky
Christian
248e2a5bdd
Merge pull request #746 from bcrosnier/pr/mqtt5-assigned-client-id
Better handling of AssignedClientIdentifier - chkr1011/MQTTnet#745
před 5 roky
Benjamin Crosnier
1a41415dd1
Allow AssignedClientIdentifier in ClientConnected, ClientDisconnected and ConnectedHandler - Fixes chkr1011/MQTTnet#745
před 5 roky
Christian Kratky
9302e80d73
Merge branch 'develop'
před 5 roky
Christian Kratky
cf6f0ece0e
Add test execution in build script.
před 5 roky
Christian Kratky
50d65f2fed
Update nugets.
před 5 roky
Christian Kratky
4614df7fa5
Update docs.
před 5 roky
Christian
22aedcba09
Merge pull request #744 from JanEggers/pr/fix#743
fixed #743
před 5 roky
Christian Kratky
2767d897a4
Fix serialization issue of MQTTv5 PubRec packet.
před 5 roky
JanEggers
a4420063c0
fixed #743
před 5 roky
Christian Kratky
2320352124
Update docs.
před 5 roky
Christian Kratky
c0b4155ab4
Update docs.
před 5 roky
Christian Kratky
b09f31d654
Fix TCP server adpater when using empty password.
před 5 roky
Christian Kratky
30c33d46f9
Merge remote-tracking branch 'origin/develop' into develop
před 5 roky
Christian
651b79a124
Merge pull request #740 from cslutgen/chain
Fix Client SslStream CRL verification
před 5 roky
Christian Kratky
2e3cf54f11
Add support for different strategies when generating RPC topics.
před 5 roky
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.
před 5 roky
cslutgen
4cefa1dfa9
Merge pull request #2 from chkr1011/develop
Develop
před 5 roky
Christian Kratky
0cfb8b4020
Remove not async task handling.
před 5 roky
Christian Kratky
9ac726b271
Revert "Remove dedicated UWP builds and code."
This reverts commit 6d0e2c2022
.
před 5 roky
Christian Kratky
232605304e
Revert "Update nugets."
This reverts commit 6c53677e7d
.
před 5 roky
Christian Kratky
6c53677e7d
Update nugets.
před 5 roky
Christian Kratky
6d0e2c2022
Remove dedicated UWP builds and code.
před 5 roky
Christian Kratky
8ad1fb2871
Refactor server certificate classes (breaking change).
před 5 roky
Christian Kratky
4a7ff9e9ed
Add TLS certificate password support for MQTTnet.Server.
před 5 roky
Christian Kratky
f54598c201
Merge branch 'develop'
před 5 roky
Christian Kratky
2300e68fff
Add UnitTests for RPC.
před 5 roky
Christian Kratky
6996824157
Merge branch 'master' into develop
před 5 roky
Christian Kratky
524f695829
Update docs.
před 5 roky
Christian
72faa067cc
Merge pull request #729 from cslutgen/clientcerts
Add Server certificate password and client certificate builders
před 5 roky
SeppPenner
01aa75471c
Updated description of issue templates.
před 5 roky
HansM
048206eb1e
Fixed my spelling mistake from before.
před 5 roky