Kiarash Ghiaseddin
b68247f56d
WIP
First draft for MQTTnetServer project
* Basic support for settings
* Nasty code for setting up kestrel from appsettings.json
5 years ago
Christian
3b02a5f6aa
Fix NullRefException when cancelling the server.
5 years ago
Christian
09718a00e7
Add handlers to variable before using to avoid NullRefExceptions.
5 years ago
BennyM
4860cec6c7
When no handlers are configured the client should not blow up
5 years ago
Dominik Psenner
b9e0dbf150
Add extension methods that provide a simpler api for IMqttClient and IManagedMqttClient connect/disconnect when the handlers do not need async/await
5 years ago
vbBerni
2a4eb460da
StopAsync now waits until the managed client is stoped and more typical disposing of internal client
5 years ago
Dominik Psenner
2000de15e7
Add async handlers for connect and disconnect, too
.. this allows a client to properly async publish on connect.
5 years ago
Dominik Psenner
5e6b902430
Add convenience extensions to the managed client
5 years ago
Dominik Psenner
a1f414a06d
Add async handler interfaces for connected and disconnected to allow async code to execute on connect
5 years ago
Berni
de3a39bdc2
Fix Managed Client should dispose inner mqtt client #527
5 years ago
Berni
506873ed5b
fix logger logId not used in ManagedMqttClient
5 years ago
Christian Kratky
6a2bded181
Refactor session and connection handling in server. Fix QoS level 2 issues.
5 years ago
Christian Kratky
ebf0e91ab8
Refactor subscribe and unsubscribe to support MQTTv5.
6 years ago
Johannes Bäurle
107e96ff7d
Don't cancel token before stop session manager
6 years ago
Christian Kratky
96a67579e2
Improve session handling.
6 years ago
Christian Kratky
4cba814716
Cleanup.
6 years ago
Christian Kratky
b527059b72
Fix session takeover.
6 years ago
Christian Kratky
c0507fcc55
Refactor interceptors etc. to support async.
6 years ago
Christian Kratky
058bb65d31
Merge from develop.
6 years ago
Christian Kratky
cc113a6c34
Refactor namespaces.
6 years ago
Charles Quesnel
dfda916283
Use default parameter instead of overload
6 years ago
Charles Quesnel
40326df9a9
Fix typo in 'Cookie'
6 years ago
Charles Quesnel
a94444098a
Remove unused usings
6 years ago
Charles Quesnel
0c13e7a504
Add overload to allow passing custom request headers and cookies when connecting with WS
6 years ago
Christian Kratky
0dba57fe75
Cleanup code.
6 years ago
Christian Kratky
28b2562112
Fix client session disposal in server.
6 years ago
Christian Kratky
619eaf284d
Add readonly property for client options.
6 years ago
Christian Kratky
86c348df58
Stop existing sessions before takeover from another client.
6 years ago
Christian Kratky
b091fee554
Reset the keep alive monitor if a session is being resumed from a different (or same) client.
6 years ago
Federico Di Gregorio
bc1a197c4f
Align conditions in dependent project with conditions in MQTTnet
6 years ago
Christian Kratky
ccc275902f
Fix wrong retain flag when distributing messages.
6 years ago
Christian Kratky
0f5fb8aa3a
Add more pacakges.
6 years ago
Christian Kratky
017f17a6b1
Fix UnitTests.
6 years ago
Christian Kratky
43105f71d8
Refactor removal from blocking queue.
6 years ago
Christian Kratky
7baff7c080
Refactor property definition for packets.
6 years ago
Paul Fake
2a93fc18e4
Made comparison function static
6 years ago
Paul Fake
31de6ee186
Delegate comparison function
6 years ago
Paul Fake
74d59673a8
Delegate for comparisons
6 years ago
Paul Fake
d1c3d9b453
Removed unnecessary code
6 years ago
Paul Fake
baa9241216
Revert "Changes to this file no longer needed"
This reverts commit 2c6c3ac6a4
.
6 years ago
Paul Fake
2c6c3ac6a4
Changes to this file no longer needed
6 years ago
Paul Fake
b2c31331b6
Peek-and-publish model
We had been seeing an issue in which the queue could grow larger than the configured cap. I examined the code and saw that this could happen if _mqttClient.PublishAsync() throws an exception, in which case a message can be re-enqueued without honoring the cap. Furthermore, I saw that it was possible for the DropOldestQueuedMessage strategy to drop messages that were not actually the oldest ones, because when re-enqueueing the messages in the queue are no longer ordered by the original time they entered the queue. It made sense to us to peek at the message when publishing rather than dequeue it, so that when re-enqueueing after an exception 1) the cap is still honored and 2) the order of queued messages isn't altered. It's ok if another thread removes the message that's currently being published from the queue due to the cap, because all we have to do then is check if it's already been removed before removing it ourselves.
6 years ago
Paul Fake
9ff39c1fd9
New functions
This is to support the peek-and-publish model for the managed client
6 years ago
Paul Fake
210d57b254
IEquatable for speed
IEquatable for speed in using EqualityComparer<TItem>.Default.Equals
6 years ago
Christian Kratky
7292cedd2f
Encode ConnAck packet.
6 years ago
Christian Kratky
48d5afa799
Refactor namings of serializers etc.
6 years ago
Christian Kratky
3db22eea51
Remove dedicated V3 messages.
6 years ago
Christian Kratky
2fbb44ec66
Add more property implementations.
6 years ago
Christian Kratky
5f18f35e02
Refactor task usage in client.
6 years ago
Christian Kratky
af39e87703
Refactor code.
6 years ago