// Copyright (c) 2025-2026 GeWuYou // SPDX-License-Identifier: Apache-2.0 using System.Threading; namespace GFramework.Core.Tests.Architectures; /// /// 为 legacy bridge pipeline 回归测试保存跨泛型闭包共享的计数状态。 /// public static class LegacyBridgePipelineTracker { private static int _invocationCount; /// /// 获取当前进程内被识别为 legacy bridge request 的 pipeline 命中次数。 /// public static int InvocationCount => Volatile.Read(ref _invocationCount); /// /// 重置计数器。 /// public static void Reset() { Volatile.Write(ref _invocationCount, 0); } /// /// 若当前请求类型属于 Core legacy bridge request,则记录一次命中。 /// public static void Record(Type requestType) { ArgumentNullException.ThrowIfNull(requestType); if (string.Equals(requestType.Namespace, "GFramework.Core.Cqrs", StringComparison.Ordinal) && requestType.Name.Contains("Legacy", StringComparison.Ordinal)) { Interlocked.Increment(ref _invocationCount); } } }