kallayj and Christian
09ab30fb0f
Adds events for delivered and dropped messages. ( #1866 )
...
* Adds events for delivered and dropped messages.
* Rename new events to match other namings
* Update ReleaseNotes.md
---------
Co-authored-by: Christian <6939810+chkr1011@users.noreply.github.com >
2023-12-06 18:02:48 +01:00
Christian
9295626503
[Server] Add initial support for session expiration ( #1776 )
2023-06-27 19:32:08 +02:00
Jeffery Michael
c90ba7e061
Fixed broken UWP build ( #1655 )
...
Added compiler declaritive to check for WINDOWS_UWP on IsAssignableFrom call.
2023-01-28 12:02:22 +01:00
Günther Foidl
b98417ab39
Avoid some full memory barriers ( #1590 )
...
* Avoid some full memory barriers
* Reset in stats itself
* Updated MqttClientStatistics
* Fixed order of members as artifact from merge-conflict
2023-01-19 20:08:51 +01:00
Christian
fdf00f1b18
More options for disconnect ( #1557 )
...
* Expose more options in disconnect options.
* Expose more options in disconnect API.
* Refactor code.
* Expose user properties in disconnected event.
* Expose more disconnect options in server.
* Fix build errors
* Add new samples.
* Fix client cleanup
* Fix merge conflicts
2022-12-23 17:09:02 +01:00
Christian
c17a350796
1595 object disposed exception in unit test handle parallel connection attempts ( #1610 )
2022-12-05 19:22:18 +01:00
Christian
d9da7cc92e
Refactor code
2022-12-03 14:09:27 +01:00
老九 and Christian
862d76471b
Implement buffer copy using different policies ( #1599 )
...
use Memory-Copy
Co-authored-by: Christian <6939810+chkr1011@users.noreply.github.com >
2022-12-03 13:17:02 +01:00
Christian
581a024ceb
Improve allocations for AsyncSignal.
2022-11-26 14:45:34 +01:00
Mario Zelger and Mario Zelger
c45cb8b04e
Dispose the AsyncSignalWaiter before setting it to null ( #1586 )
...
dispose the AsyncSignalWaiter before setting it to null to prevent memory leak
Co-authored-by: Mario Zelger <mario.zelger@confer.ch >
2022-11-26 14:19:51 +01:00
Christian
db1fc7625d
1546 possible bug in server repeatedly sending the same message to client subscribed with cleansession=false ( #1569 )
2022-11-11 08:14:15 +01:00
Christian
5ee0bb4b65
1565 high cpu load from asyncsignal ( #1566 )
2022-11-09 19:56:29 +01:00
Christian
5c74728387
Fix client session takeover
2022-11-06 13:28:41 +01:00
Christian
2842f27522
1552 mqttnetservermqttclientsessionsmanager subscribersessions is not proper removed on special case ( #1562 )
2022-11-06 10:34:20 +01:00
Christian
d2ce9d607a
Fix freezes in _AsyncLock_ ( #1549 )
2022-10-23 08:16:45 +02:00
Christian
e050e2d61e
Improve async lock ( #1520 )
2022-09-25 10:26:18 +02:00
Christian
e977546297
Fix cross access to async events. ( #1515 )
...
fix cross access to async events.
2022-09-16 08:20:42 +02:00
Christian
7e686d9aa5
Refactor code.
2022-09-15 09:09:08 +02:00
Christian
ad546adafe
Fix removal of event handlers from async event.
2022-08-03 20:27:53 +02:00
Christian
fcf276dd1a
Improve Server packet management.
2022-04-21 20:48:52 +02:00
Christian
7d95c238c3
Code cleanup.
2022-03-06 12:47:48 +01:00
Christian
2ce9b94ec9
v4.0.0 ( #1357 )
2022-02-20 21:10:46 +01:00
Christian
0920c86d37
Refactor logger. ( #1247 )
2021-09-26 11:05:00 +02:00
Christian
c1001db450
Add packet inspector API.
2021-01-24 20:58:15 +01:00
Christian
ec015e7620
Refactor naming for background tasks.
2020-11-25 21:07:50 +01:00
Christian Kratky
d0a848c8b4
Improve performance.
2020-11-13 20:33:47 +01:00
Christian Kratky
eaf1195f95
Cleanup Unit Tests.
2020-11-06 21:00:25 +01:00
Christian Kratky
f773257c86
Improve exception handling in AsyncQueue.
2020-10-30 20:43:39 +01:00
Christian Kratky
05101f0e0e
Improve exception handling of AsyncLock.
2020-10-30 00:19:57 +01:00
Christian Kratky
b7fb0c1002
Refactor package object model.
2020-10-28 23:11:12 +01:00
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