aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/embeddable-dll-service/csharp/DemoUI/MainWindow.cs
diff options
context:
space:
mode:
Diffstat (limited to 'embeddable-dll-service/csharp/DemoUI/MainWindow.cs')
-rw-r--r--embeddable-dll-service/csharp/DemoUI/MainWindow.cs58
1 files changed, 26 insertions, 32 deletions
diff --git a/embeddable-dll-service/csharp/DemoUI/MainWindow.cs b/embeddable-dll-service/csharp/DemoUI/MainWindow.cs
index 7d1e3f6f..6e3eb21f 100644
--- a/embeddable-dll-service/csharp/DemoUI/MainWindow.cs
+++ b/embeddable-dll-service/csharp/DemoUI/MainWindow.cs
@@ -66,49 +66,43 @@ namespace DemoUI
private void tailTransfer()
{
- StreamReader reader = null;
- NamedPipeClientStream stream = null;
+ Tunnel.Driver.Adapter adapter = null;
while (threadsRunning)
{
- try
+ if (adapter == null)
{
- stream = Tunnel.Service.GetPipe(configFile);
- stream.Connect();
- reader = new StreamReader(stream);
- break;
+ while (threadsRunning)
+ {
+ try
+ {
+ adapter = Tunnel.Service.GetAdapter(configFile);
+ break;
+ }
+ catch
+ {
+ try
+ {
+ Thread.Sleep(1000);
+ }
+ catch { }
+ }
+ }
}
- catch { }
- Thread.Sleep(1000);
- }
-
- try
- {
- while (threadsRunning)
+ if (adapter == null)
+ continue;
+ try
{
- stream.Write(Encoding.UTF8.GetBytes("get=1\n\n"));
ulong rx = 0, tx = 0;
- while (threadsRunning)
+ var config = adapter.GetConfiguration();
+ foreach (var peer in config.Peers)
{
- var line = reader.ReadLine();
- if (line == null)
- break;
- line = line.Trim();
- if (line.Length == 0)
- break;
- if (line.StartsWith("rx_bytes="))
- rx += ulong.Parse(line.Substring(9));
- else if (line.StartsWith("tx_bytes="))
- tx += ulong.Parse(line.Substring(9));
+ rx += peer.RxBytes;
+ tx += peer.TxBytes;
}
Invoke(new Action<ulong, ulong>(updateTransferTitle), new object[] { rx, tx });
Thread.Sleep(1000);
}
- }
- catch { }
- finally
- {
- if (stream.IsConnected)
- stream.Close();
+ catch { adapter = null; }
}
}