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
4cba814716
Cleanup.
2018-12-27 23:10:52 +01:00
Christian Kratky
b527059b72
Fix session takeover.
2018-12-27 23:05:57 +01:00
Christian Kratky
c0507fcc55
Refactor interceptors etc. to support async.
2018-12-27 22:41:41 +01:00
Christian Kratky
058bb65d31
Merge from develop.
2018-12-22 09:40:47 +01:00
Christian Kratky
38b215e9b5
Merge branch 'develop' into feature/MQTTv5
2018-12-22 09:38:12 +01:00
Christian Kratky
cc113a6c34
Refactor namespaces.
2018-12-20 20:53:29 +01:00
Charles Quesnel
dfda916283
Use default parameter instead of overload
2018-12-13 14:54:31 -05:00
Charles Quesnel
40326df9a9
Fix typo in 'Cookie'
2018-12-13 14:08:53 -05:00
Charles Quesnel
a94444098a
Remove unused usings
2018-12-13 13:01:34 -05:00
Charles Quesnel
0c13e7a504
Add overload to allow passing custom request headers and cookies when connecting with WS
2018-12-13 12:56:47 -05:00
Christian Kratky
0dba57fe75
Cleanup code.
2018-12-09 21:04:14 +01:00
Christian Kratky
6483f896c1
Merge from develop.
2018-12-09 20:48:46 +01:00
Christian Kratky
28b2562112
Fix client session disposal in server.
2018-12-09 17:35:46 +01:00
Christian Kratky
619eaf284d
Add readonly property for client options.
2018-12-03 21:20:11 +01:00
Christian Kratky
86c348df58
Stop existing sessions before takeover from another client.
2018-12-02 21:50:16 +01:00
Christian Kratky
b091fee554
Reset the keep alive monitor if a session is being resumed from a different (or same) client.
2018-12-01 11:00:00 +01:00
Christian Kratky
ccc275902f
Fix wrong retain flag when distributing messages.
2018-11-28 21:35:50 +01:00
Christian Kratky
0f5fb8aa3a
Add more pacakges.
2018-11-28 21:11:23 +01:00
Christian Kratky
017f17a6b1
Fix UnitTests.
2018-11-24 20:19:16 +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
7292cedd2f
Encode ConnAck packet.
2018-11-19 00:17:19 +01:00
Christian Kratky
48d5afa799
Refactor namings of serializers etc.
2018-11-19 00:14:15 +01:00
Christian Kratky
3db22eea51
Remove dedicated V3 messages.
2018-11-18 22:04:39 +01:00
Christian Kratky
2fbb44ec66
Add more property implementations.
2018-11-18 21:54:40 +01:00
Christian Kratky
5f18f35e02
Refactor task usage in client.
2018-11-17 20:23:52 +01:00
Christian Kratky
af39e87703
Refactor code.
2018-11-17 20:23:20 +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
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
ca7952ab33
Remove wrong setter.
2018-10-29 20:35:22 +01:00
Christian Kratky
62693af196
Merge from master.
2018-10-20 00:34:28 +02:00
Christian Kratky
5abee2512f
Update nuget packages.
2018-10-20 00:32:53 +02:00
Christian Kratky
aad3ab903f
Expose retained messages to server interface.
2018-10-19 23:56:32 +02:00
JanEggers
b7ab29473b
added ability to specify tls protocol version
2018-10-07 12:10:26 +02:00
Christian Kratky
ffc4f1408a
Merge develop.
2018-10-06 13:13:40 +02: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 Kratky
03bef4c15d
Fix revocation checks in certificate validator.
2018-10-01 21:50:54 +02:00
Christian Kratky
56a1530cee
Add a method for clearing all retained messages at the server.
2018-09-29 11:49:02 +02:00
Christian Kratky
699cd5fc23
Merge branch 'develop' of https://github.com/chkr1011/MQTTnet into develop
2018-09-28 22:51:27 +02:00
Christian Kratky
70f4dc9e10
Change log level of retained message changes.
2018-09-28 22:51:05 +02:00
Christian
5c6bcdbca6
Merge branch 'develop' into client-cancel-task
2018-09-28 22:49:00 +02:00