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