private ProfileStorage(ConcurrentProfileStorageCollection pushTo, ServerEndPoint server, ProfileStorage resentFor, RetransmissionReasonType? reason) { PushToWhenFinished = pushTo; OriginalProfiling = resentFor; Server = server; RetransmissionReason = reason; }
public void LeaksCollectedAndRePooled() { const int ThreadCount = 16; using (var conn = Create()) { var anyContext = LeaksCollectedAndRePooled_Initialize(conn, ThreadCount); // force collection of everything but `anyContext` GC.Collect(3, GCCollectionMode.Forced, blocking: true); GC.WaitForPendingFinalizers(); Thread.Sleep(TimeSpan.FromMinutes(1.01)); conn.FinishProfiling(anyContext); // make sure we haven't left anything in the active contexts dictionary Assert.AreEqual(0, conn.profiledCommands.ContextCount); Assert.AreEqual(ThreadCount, ConcurrentProfileStorageCollection.AllocationCount); Assert.AreEqual(ThreadCount, ConcurrentProfileStorageCollection.CountInPool()); } }
public static ProfileStorage NewWithContext(ConcurrentProfileStorageCollection pushTo, ServerEndPoint server) { return new ProfileStorage(pushTo, server, null, null); }