Apply timeout to automatic ping. (#1495)

Co-authored-by: Stan Wijckmans <stanw@aviobook.aero>
This commit is contained in:
Stan Wijckmans
2022-08-13 12:53:55 +02:00
committed by GitHub
co-authored by Stan Wijckmans
parent 12dd815421
commit c5cec60809
+5 -1
View File
@@ -523,7 +523,11 @@ namespace MQTTnet.Client
if (timeWithoutPacketSent > keepAlivePeriod)
{
await PingAsync(cancellationToken).ConfigureAwait(false);
using (var timeoutCancellationTokenSource = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken))
{
timeoutCancellationTokenSource.CancelAfter(Options.Timeout);
await PingAsync(timeoutCancellationTokenSource.Token).ConfigureAwait(false);
}
}
// Wait a fixed time in all cases. Calculation of the remaining time is complicated