From 771c2a2cd6792c08fe6747a338475f9e444d7264 Mon Sep 17 00:00:00 2001 From: Jared Goodwin Date: Sun, 18 Apr 2021 22:00:55 -0700 Subject: [PATCH] Use DelayUntil when sending DTO through DataChannel. --- Desktop.Core/Services/WebRtcSession.cs | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/Desktop.Core/Services/WebRtcSession.cs b/Desktop.Core/Services/WebRtcSession.cs index 26a2fd1a..41d05c7f 100644 --- a/Desktop.Core/Services/WebRtcSession.cs +++ b/Desktop.Core/Services/WebRtcSession.cs @@ -110,14 +110,9 @@ namespace Remotely.Desktop.Core.Services public Task SendDto(T dto) where T : BaseDto { - return Task.Run(() => - { - CaptureChannel.SendMessage(MessagePackSerializer.Serialize(dto)); - while (CurrentBuffer > 64_000) - { - Thread.Sleep(10); - } - }); + CaptureChannel.SendMessage(MessagePackSerializer.Serialize(dto)); + TaskHelper.DelayUntil(() => CurrentBuffer < 64_000, TimeSpan.FromSeconds(5)); + return Task.CompletedTask; } public async Task SetRemoteDescription(string type, string sdp)