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.
6 yıl önce
Christian Kratky
bddcbf6999
Refactor code.
6 yıl önce
Christian Kratky
7181813f12
Fix pending messages overflow strategy issue.
6 yıl önce
Christian Kratky
6fc9f12c34
Refactor task await.
6 yıl önce
JanEggers
a5caab62f8
fixed parallel writes
6 yıl önce
Christian Kratky
28efbcdb3d
Add max pending messages options for ManagedClient.
6 yıl önce
Christian Kratky
ca7952ab33
Remove wrong setter.
6 yıl önce
Christian Kratky
5abee2512f
Update nuget packages.
6 yıl önce
Christian Kratky
aad3ab903f
Expose retained messages to server interface.
6 yıl önce
JanEggers
73d33e2200
fixed #421
6 yıl önce
JanEggers
b7ab29473b
added ability to specify tls protocol version
6 yıl önce
Christian Kratky
fb4f89b412
Replace TaskCompletionSource in Client with Interlocked gate.
6 yıl önce
Christian Kratky
0c2ab9b231
Fix a deadlock when an exception is fired while connecting.
6 yıl önce
Christian Kratky
03bef4c15d
Fix revocation checks in certificate validator.
6 yıl önce
Christian Kratky
56a1530cee
Add a method for clearing all retained messages at the server.
6 yıl önce
Christian Kratky
70f4dc9e10
Change log level of retained message changes.
6 yıl önce
Andre Crabb
400c0f05ad
* Adds `false` param to Cancel call.
6 yıl önce
Andre Crabb
00df7c9b7b
* More change tabs to spaces.
6 yıl önce
Andre Crabb
a272ed7daa
* Change tabs to spaces.
6 yıl önce
Andre Crabb
b2e7a2e370
Change from logging `Info` to `Verbose`
6 yıl önce
Andre Crabb
39bc70cbf0
* Cancel the TokenSource when disposing or nulling it out for the MqttClient
6 yıl önce
Christian Kratky
682298b69f
Fix issue in pending messages handling for managed client.
6 yıl önce
JanEggers
976c62d9c2
added back the old function and added new overload
6 yıl önce
JanEggers
4cc9f12a03
added AspNetMqttServerOptionsBuilder
6 yıl önce
Christian Kratky
0b5a751c56
Add all methods of the factory to the factory interfaces.
6 yıl önce
Christoph Stichlberger
80fbb2f0b2
Prevent unsubscription overtaking later subscription
6 yıl önce
Christian Kratky
b4f90decc7
Fix unit tests to allow release builds.
6 yıl önce
Christian Kratky
61b324043a
Refactoring
6 yıl önce
Christian Kratky
2ced921008
Refactoring.
6 yıl önce
Christian Kratky
f70c79aaf9
Refactor options.
6 yıl önce
Christian Kratky
60bc4ebcee
Refactor proxy usage and support. Refactor TLS parameter usage.
6 yıl önce
Christian Kratky
6b9015a928
Fix order of ClientConnected and ClientDisconnected events.
6 yıl önce
Christian Kratky
603639126e
Fix issue in processing of server messages.
6 yıl önce
JanEggers
043cfdb3f9
fixed deadlock and object disposed exception
6 yıl önce
Jens-Christian Skibakk
2b10200101
Small fix for inconsistent client name in log
6 yıl önce
Jens-Christian Skibakk
55e8927ab7
Fix pause/resume of ClientKeepAliveMonitor
6 yıl önce
JanEggers
d30fe61264
fixed missing waits
6 yıl önce
JanEggers
f7ea2d29e1
prove its broken
6 yıl önce
JanEggers
e6cfef5295
fixed disconnect to be triggered just once
6 yıl önce
JanEggers
0dea9e6a2b
changed waiting condition
6 yıl önce
JanEggers
ae80de26ec
addressed feedback
6 yıl önce
JanEggers
53bd2a0960
fixed blocking code in networkstrem and reduced sleep in tests
6 yıl önce
JanEggers
b55f5ff298
event is triggered but something is blocking
6 yıl önce
Jens-Christian Skibakk
740a35b018
Skip build uap10.0 when using dotnet cli
6 yıl önce
Marius Ruginosu
6e995230a7
Created overload methods for WithTls default values
6 yıl önce
Marius Ruginosu
65a8b091b9
Add option to specify the SSLProtocol and CertificateValidationCallback in TLS options, SSLProtocol default is TLS1.2
6 yıl önce
Marius Ruginosu
fa34908d82
Add proxy settings for WebSocket connections for .NET 451 and 461
6 yıl önce
Christian Kratky
b09eb1213c
Refactor logging.
6 yıl önce
Christian Kratky
16ad07cfc9
Add wrapper for WebSocket4Net.
6 yıl önce
Christian Kratky
dee0adcd8c
Add new overloads.
6 yıl önce