public void Unregister(IDeactivater instance) { try { lockSlim.EnterWriteLock(); recentUsedGrains.Remove(instance); } finally { lockSlim.ExitWriteLock(); } }
public void Unregister(Type grainType, IDeactivater deactivater) { instances.TryGetValue(grainType, out var byType); byType?.Unregister(deactivater); }
public void Register(Type grainType, IDeactivater deactivater, int maxActivations) { var byType = instances.GetOrAdd(grainType, t => new LastUsedInstances(maxActivations)); byType.Register(deactivater); }