From 6f7a3a5e31eb53b12c7b0764b52afd7e89122972 Mon Sep 17 00:00:00 2001 From: Matthias Heil Date: Tue, 7 Apr 2026 13:38:08 +0200 Subject: [PATCH] Works with NetJsonPipeSerializer --- NamedPipes/NamedPipeClient.cs | 8 ++-- NamedPipes/NamedPipeServer.cs | 10 +++-- NamedPipes/NamedPipes.csproj | 3 +- NamedPipes/PipeSerializer.cs | 38 ------------------- .../NrxDebugVisualizer.csproj | 5 +-- 5 files changed, 14 insertions(+), 50 deletions(-) delete mode 100644 NamedPipes/PipeSerializer.cs diff --git a/NamedPipes/NamedPipeClient.cs b/NamedPipes/NamedPipeClient.cs index 233b7ec..7b2f3a5 100644 --- a/NamedPipes/NamedPipeClient.cs +++ b/NamedPipes/NamedPipeClient.cs @@ -1,15 +1,17 @@ -using System; +using PipeMethodCalls; + +using PipeMethodCalls.NetJson; +using System; using System.Diagnostics; using System.IO; using System.Threading.Tasks; -using PipeMethodCalls; namespace NamedPipes; public class NamedPipeClient (string pipeName,string? serverLocation = null, string? serverName = null,Action? logger = null): IDebugVisualizer, IDisposable { private bool IsConnected => PipeClient.State == PipeState.Connected; - private PipeClient PipeClient { get; } = new(new PipeSerializer(), pipeName); + private PipeClient PipeClient { get; } = new(new NetJsonPipeSerializer(), pipeName); private string ServerLocation { get; } = serverLocation ?? Environment.GetEnvironmentVariable("USERPROFILE") + @"\Documents\Visual Studio 2026\Visualizers\Server\NrxVisualizer\"; private string ServerName { get; } = serverName ?? "Num.Roto.Nrx.VisualizerServer"; private Action Logger { get;} = logger ??((m) => Trace.WriteLine(m)); diff --git a/NamedPipes/NamedPipeServer.cs b/NamedPipes/NamedPipeServer.cs index 485e218..6b410b6 100644 --- a/NamedPipes/NamedPipeServer.cs +++ b/NamedPipes/NamedPipeServer.cs @@ -1,8 +1,10 @@ -using System; +using CommunityToolkit.Mvvm.ComponentModel; +using PipeMethodCalls; + +using PipeMethodCalls.NetJson; +using System; using System.Diagnostics; using System.Threading.Tasks; -using CommunityToolkit.Mvvm.ComponentModel; -using PipeMethodCalls; namespace NamedPipes; public partial class NamedPipesServer(string pipeName,Action? logger = null) : ObservableObject,IDebugVisualizer, IDisposable @@ -23,7 +25,7 @@ public partial class NamedPipesServer(string pipeName,Action? logger = n if (PipeServer == null || PipeServer.State != PipeState.Connected) { PipeServer?.Dispose(); - PipeServer = new PipeServer(new PipeSerializer(), PipeName, () => this); + PipeServer = new PipeServer(new NetJsonPipeSerializer(), PipeName, () => this); PipeServer.SetLogger((m) => Trace.WriteLine(m)); } Logger("Waiting for client connection..."); diff --git a/NamedPipes/NamedPipes.csproj b/NamedPipes/NamedPipes.csproj index a4ac975..524c06b 100644 --- a/NamedPipes/NamedPipes.csproj +++ b/NamedPipes/NamedPipes.csproj @@ -7,10 +7,9 @@ enable - - + diff --git a/NamedPipes/PipeSerializer.cs b/NamedPipes/PipeSerializer.cs deleted file mode 100644 index 16f1fa2..0000000 --- a/NamedPipes/PipeSerializer.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System; -using MessagePack; -using PipeMethodCalls; - -namespace NamedPipes -{ - public class PipeSerializer : IPipeSerializer - { - public object? Deserialize(byte[] data, Type type) - { - if (data.Length == 0) return null; - //Log.Trace("PipeSerializer.Deserialize: type = " + type + " , data.length = " + data.Length); - var obj = MessagePackSerializer.Typeless.Deserialize(data); - //if (obj is DebugObject debugObject) - //{ - // var length = debugObject.Data?.Length ?? 0; - // var debugObjectType = debugObject.Type ?? "null"; - // Log.Trace("PipeSerializer.Deserialize: debugObject.Type = " + debugObjectType + " , debugObject.Data.Length = " + length); - //} - return obj; - } - - public byte[] Serialize(object o) - { - if (o.GetType().FullName == "System.Threading.Tasks.VoidTaskResult") return []; - //if (o is DebugObject debugObject) - //{ - // var length = debugObject.Data?.Length ?? 0; - // Log.Trace("PipeSerializer.Deserialize: debugObject.Type = " + debugObject.Type + " , debugObject.Data.Length = " + length); - //} - - var bytearray = MessagePackSerializer.Typeless.Serialize(o); - //var xxx = Deserialize(bytearray, o.GetType()); - //Log.Trace("PipeSerializer.Serialize: type = " + o.GetType() + " , bytearray.length = " + bytearray.Length); - return bytearray; - } - } -} diff --git a/NrxDebuggerVisualizerProvider/NrxDebugVisualizer.csproj b/NrxDebuggerVisualizerProvider/NrxDebugVisualizer.csproj index b1e6638..7ea4a5f 100644 --- a/NrxDebuggerVisualizerProvider/NrxDebugVisualizer.csproj +++ b/NrxDebuggerVisualizerProvider/NrxDebugVisualizer.csproj @@ -17,8 +17,7 @@ - - + @@ -27,4 +26,4 @@ - + \ No newline at end of file