aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/embeddable-dll-service
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2021-01-25 21:11:31 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2021-02-01 16:55:02 +0100
commitb95b36756ebfcdfaab6a403d93bc6514f3a3b2e2 (patch)
treee74ac26517b4c1eae2868d5351bee24746666f7b /embeddable-dll-service
parentversion: adjust x/sys/windows type name (diff)
downloadwireguard-windows-b95b36756ebfcdfaab6a403d93bc6514f3a3b2e2.tar.xz
wireguard-windows-b95b36756ebfcdfaab6a403d93bc6514f3a3b2e2.zip
manager: pipeline UAPI requests
This avoids the somewhat expensive pipe setup. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'embeddable-dll-service')
-rw-r--r--embeddable-dll-service/csharp/DemoUI/MainWindow.cs30
1 files changed, 15 insertions, 15 deletions
diff --git a/embeddable-dll-service/csharp/DemoUI/MainWindow.cs b/embeddable-dll-service/csharp/DemoUI/MainWindow.cs
index 13499fcb..50a42c42 100644
--- a/embeddable-dll-service/csharp/DemoUI/MainWindow.cs
+++ b/embeddable-dll-service/csharp/DemoUI/MainWindow.cs
@@ -58,24 +58,25 @@ namespace DemoUI
private void tailTransfer()
{
+ StreamReader reader = null;
NamedPipeClientStream stream = null;
+ while (threadsRunning)
+ {
+ try
+ {
+ stream = Tunnel.Service.GetPipe(configFile);
+ stream.Connect();
+ reader = new StreamReader(stream);
+ break;
+ }
+ catch { }
+ Thread.Sleep(1000);
+ }
+
try
{
while (threadsRunning)
{
- while (threadsRunning)
- {
- try
- {
- stream = Tunnel.Service.GetPipe(configFile);
- stream.Connect();
- break;
- }
- catch { }
- Thread.Sleep(1000);
- }
-
- var reader = new StreamReader(stream);
stream.Write(Encoding.UTF8.GetBytes("get=1\n\n"));
ulong rx = 0, tx = 0;
while (threadsRunning)
@@ -92,14 +93,13 @@ namespace DemoUI
tx += ulong.Parse(line.Substring(9));
}
Invoke(new Action<ulong, ulong>(updateTransferTitle), new object[] { rx, tx });
- stream.Close();
Thread.Sleep(1000);
}
}
catch { }
finally
{
- if (stream != null && stream.IsConnected)
+ if (stream.IsConnected)
stream.Close();
}
}