Pipe endpoints join the connection pickers; no more COM11/COM12 auto-bind

Each device row now serves one endpoint at a time, picked from a list of
pipe:vrio / pipe:vplasma (first, default) plus the machine's COM ports —
nothing opens automatically at startup. The pipe services gained an
IsListening property and are started/stopped by the row's Open/Close
button instead of running for the whole app lifetime, which also retires
the dual-transport warning. Status line shows the active endpoint;
OFFLINE when none. Standalone vPLASMA is unchanged (hardwired COM12 +
permanent pipe). Also fixes the xUnit1031 warnings in the plasma pipe
tests.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Cyd
2026-07-12 23:17:34 -05:00
co-authored by Claude Fable 5
parent e507f1740c
commit 697cf3129b
5 changed files with 108 additions and 104 deletions
@@ -66,7 +66,7 @@ public class VPlasmaPipeServiceTests
}
[Fact]
public void Unknown_frame_type_drops_the_client_and_server_recovers()
public async Task Unknown_frame_type_drops_the_client_and_server_recovers()
{
string name = UniqueName();
var device = new VPlasmaDevice();
@@ -85,8 +85,9 @@ public class VPlasmaPipeServiceTests
try { return bad.Read(new byte[1], 0, 1) == 0; }
catch (IOException) { return true; }
});
Assert.True(eof.Wait(2000), "server did not drop the connection");
Assert.True(eof.Result);
Assert.True(await Task.WhenAny(eof, Task.Delay(2000)) == eof,
"server did not drop the connection");
Assert.True(await eof);
}
using var good = Connect(name);