Christian Kratky
e4e46f0094
Add comments.
2019-06-11 20:51:23 +02:00
Christian Kratky
c3c0dcf313
Execute disconnected handler in new task.
2019-06-06 19:32:00 +02:00
Christian Kratky
396f040aae
Add support for extended authentication exchange.
2019-05-26 23:44:50 +02:00
Christian Kratky
12973a4179
Fix issues in MQTTv5 packet encoding and decoding.
2019-05-12 00:18:48 +02:00
Christian Kratky
1a8bcae47c
Add authentication result to disconnected handler.
2019-05-09 22:08:56 +02:00
Christian Kratky
0cac2aa1bc
Fix broken log message.
2019-04-24 20:19:46 +02:00
Christian Kratky
7c3d88f62d
Add validation for topics before publishing.
2019-03-22 20:37:14 +01:00
Christian Kratky
9070087fad
Add flag for indicating if application message processing has failed.
2019-03-10 09:51:49 +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
Christian
09718a00e7
Add handlers to variable before using to avoid NullRefExceptions.
2019-02-23 10:13:12 +01:00
BennyM
4860cec6c7
When no handlers are configured the client should not blow up
2019-02-19 21:40:11 +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
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
96a67579e2
Improve session handling.
2019-01-01 19:18:54 +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
619eaf284d
Add readonly property for client options.
2018-12-03 21:20:11 +01:00
Christian Kratky
7baff7c080
Refactor property definition for packets.
2018-11-23 22:50:44 +01:00
Christian Kratky
3db22eea51
Remove dedicated V3 messages.
2018-11-18 22:04:39 +01:00
Christian Kratky
5f18f35e02
Refactor task usage in client.
2018-11-17 20:23:52 +01:00
Christian Kratky
ace25af0e8
Added package properties.
2018-11-16 23:11:26 +01:00
Christian Kratky
fed16d7710
Merge from develop.
2018-11-16 22:16:21 +01:00
Paul Fake
a1e258eb24
Check for pending disconnect in ThrowIfNotConnected
...
This might be a little controversial, but it worked for us to correct a problem in which messages get stuck in the managed client storage queue (and are thrown out of the regular message queue without being published!) in the case of a failed connection. What we were seeing was that ManagedMqttClient.TryPublishQueuedMessage() was discarding a dequeued message without ever removing it from the storage queue because of an OperationCancelledException thrown by MqttClient.PublishAsync(). Tracing the code back, we found that when the connection is interrupted, after the timeout period MqttClient.InitiateDisconnect() would set the cancellation token, and the managed client would continue to try to publish, eventually calling through to MqttClient.SendAndReceiveAsync(), which would throw because the cancellation token is set. Looking back over the code, we saw that MqttClient.PublishAsync() has a call to ThrowIfNotConnected() at the top, which told us that the intent was to not allow this function to be called after a disconnect. But the disconnect was still pending, and the function wasn't behaving correctly in this state, so we reasoned that it's best to throw if the disconnect is pending.
2018-11-14 11:25:12 -05:00
Christian Kratky
fb4f89b412
Replace TaskCompletionSource in Client with Interlocked gate.
2018-10-04 22:30:03 +02:00
Christian Kratky
0c2ab9b231
Fix a deadlock when an exception is fired while connecting.
2018-10-04 20:53:02 +02:00
Christian
5c6bcdbca6
Merge branch 'develop' into client-cancel-task
2018-09-28 22:49:00 +02:00
Andre Crabb
400c0f05ad
* Adds false param to Cancel call.
2018-09-28 14:07:04 -04:00
Andre Crabb
00df7c9b7b
* More change tabs to spaces.
2018-09-28 11:01:07 -04:00
Andre Crabb
a272ed7daa
* Change tabs to spaces.
2018-09-28 11:00:18 -04:00
Andre Crabb
b2e7a2e370
Change from logging Info to Verbose
2018-09-21 15:44:31 -04:00
Andre Crabb
39bc70cbf0
* Cancel the TokenSource when disposing or nulling it out for the MqttClient
2018-09-20 11:08:33 -04:00
Christian Kratky
5a59cd278c
Add serializer adapter.
2018-08-06 20:36:15 +02:00
JanEggers
d30fe61264
fixed missing waits
2018-07-19 21:13:29 +02:00
JanEggers
f7ea2d29e1
prove its broken
2018-07-19 21:13:28 +02:00
JanEggers
e6cfef5295
fixed disconnect to be triggered just once
2018-07-19 21:13:28 +02:00
JanEggers
0dea9e6a2b
changed waiting condition
2018-07-19 21:13:28 +02:00
JanEggers
b55f5ff298
event is triggered but something is blocking
2018-07-19 21:13:27 +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
20779dfece
Reorganize solution structure.
2018-06-11 00:00:30 +02:00