Christian Kratky
a26b641284
Fix broken connection takeover.
2020-10-15 01:01:35 +02:00
Christian Kratky
60941c04e5
Add new factory overloads.
2020-05-22 22:02:05 +02:00
Christian Kratky
a58ab607ad
Improve logger performance.
2020-05-12 21:55:15 +02:00
Christian Kratky
2a421d1d42
Refactor code.
2020-05-01 21:47:25 +02:00
Christian Kratky
7931af7487
Add support for certificate validation callback for Web Socket connections.
2020-04-18 13:46:20 +02:00
PSanetra
fcd6b7ff52
Process messages async
...
This commit fixes issues which were caused by processing messages synchronously in the packet receiver loop. This blocked KeepAlive and Ack packets from being processed while a message was processed.
Fixes #648
Fixes #587
Fixes #829
2020-04-04 22:40:16 +02:00
Christian Kratky
0ca4c88e69
Merge branch 'master' into feature/low_level_client
2020-04-01 23:01:03 +02:00
Christian Kratky
04ccdcd562
Add low level client.
2020-04-01 20:43:00 +02:00
Christian Kratky
0653b89701
Fix broken unit tests.
2020-03-26 22:33:30 +01:00
JanEggers
a152066ed3
fixed managed client so it does not send disconnect packet when disposed
2020-01-04 11:54:41 +01:00
JanEggers
27a61819d3
removed unused code
2020-01-04 11:52:43 +01:00
JanEggers
a77e0b8dde
spread dispose pattern
2019-12-21 09:09:03 +01:00
JanEggers
14419e4d63
fixed clients overlapping from one test to another by:
...
- adding client and server wrappers to verify the clientid starts with the testname
- adding disposable baseclass
- clear disconnect handler from client so it does not try to reconnect after it is disposed
- moved code from dispose to cleanup in case it is called in a stop method as dispose may only be called once while start / stop may be called multiple times
2019-12-20 15:37:23 +01:00
Christian Kratky
3ff5806dbb
Dispose queue in managed client.
2019-10-03 15:26:33 +02:00
Бессонов Дмитрий
15ff03c136
use C#7.0 for default arguments
2019-09-30 16:10:30 +03:00
Бессонов Дмитрий
b12e3bc611
fix for #762
2019-09-30 16:05:23 +03:00
Paul Fake
5c40577bec
Fixed AsyncLock::WaitAsync cancellation bug
...
There isn't any code in MQTTnet that actually uses a cancellation token in WaitAsync, so this is more of a preventative thing than a bug fix. The original code just checks if the task was completed, not whether it was cancelled. If the process is cancelled immediately before the call to WaitAsync, it'll return as normal (https://referencesource.microsoft.com/#mscorlib/system/threading/SemaphoreSlim.cs,612 ) rather than throw a cancellation exception. This change will ensure we only return the releaser if the wait actually ran to completion rather than exited early due to cancellation. I've tested this, and it properly throws a cancellation exception later on.
2019-07-23 16:20:36 -04:00
Christian Kratky
c3c0dcf313
Execute disconnected handler in new task.
2019-06-06 19:32:00 +02:00
Christian Kratky
60c6074953
Expose client certificate at MQTT connection validator. Make DualMode optional.
2019-06-06 19:31:43 +02:00
Christian Kratky
2267770a72
Make internal message of server async.
2019-04-02 21:51:26 +02:00
Christian Kratky
11a5b5a080
Add queue with async support to free up threads.
2019-03-22 23:12:37 +01:00
Christian Kratky
7c3d88f62d
Add validation for topics before publishing.
2019-03-22 20:37:14 +01:00
Christian Kratky
f074e9ed04
Merge branch 'feature/server-project-bootstrap' into develop
2019-03-10 19:57:32 +01:00
Christian Kratky
562a5304f6
Add flag for secure connections.
2019-03-10 19:52:55 +01:00
Christian
26d6d817cd
Fix memory leak in AsyncAutoResetEvent.
2019-03-05 07:47:31 +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
c0507fcc55
Refactor interceptors etc. to support async.
2018-12-27 22:41:41 +01:00
Christian Kratky
cc113a6c34
Refactor namespaces.
2018-12-20 20:53:29 +01:00
Christian Kratky
6483f896c1
Merge from develop.
2018-12-09 20:48:46 +01:00
Christian Kratky
43105f71d8
Refactor removal from blocking queue.
2018-11-23 22:56:10 +01:00
Christian Kratky
7baff7c080
Refactor property definition for packets.
2018-11-23 22:50:44 +01:00
Paul Fake
74d59673a8
Delegate for comparisons
2018-11-21 21:38:06 -05:00
Paul Fake
9ff39c1fd9
New functions
...
This is to support the peek-and-publish model for the managed client
2018-11-19 21:11:47 -05:00
Christian Kratky
48d5afa799
Refactor namings of serializers etc.
2018-11-19 00:14:15 +01:00
Christian Kratky
bddcbf6999
Refactor code.
2018-11-05 22:39:56 +01:00
Christian Kratky
28efbcdb3d
Add max pending messages options for ManagedClient.
2018-10-29 21:45:01 +01:00
Christian Kratky
9efee7af21
Refactoring.
2018-07-07 21:03:31 +02:00
Christian Kratky
7d9326a147
Extend MqttPacketReader constructor to allow more unit tests.
2018-07-04 22:00:34 +02:00
Christian Kratky
0322660561
Refactor async/await and ConcurrentDictionary usage.
2018-06-20 20:07:25 +02:00
Christian Kratky
caea7910b4
Refactor message processing and async/await usage.
2018-06-16 14:30:02 +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
26eed30dbf
Added custom exception for gracefully closed exceptions.
2018-06-11 00:26:38 +02:00
Christian Kratky
20779dfece
Reorganize solution structure.
2018-06-11 00:00:30 +02:00