2using System.Collections.Concurrent;
6internal static class OSDPFileCaptureTracer
8 private static readonly ConcurrentDictionary<Guid, OSDPCaptureFileWriter> Writers =
new();
10 public static void Trace(TraceEntry trace)
12 var writer = Writers.GetOrAdd(trace.ConnectionId, connectionId =>
13 new OSDPCaptureFileWriter($
"{connectionId:D}.osdpcap",
"OSDP.Net", append:
true));
15 writer.WriteTrace(trace);
22 internal static void CloseWriter(Guid connectionId)
24 if (Writers.TryRemove(connectionId, out var writer))
34 internal static void CloseAllWriters()
36 foreach (var writer
in Writers.Values)