private StandingsHolder CreateStandingsHolder(long sourceEID) { var holder = new StandingsHolder(sourceEID); holder.StandingUpdated += OnStandingUpdated; return(holder); }
private void OnStandingUpdated(StandingsHolder holder, long targetEID, double standing) { if (Math.Abs(standing) >= double.Epsilon) { return; } holder.Remove(targetEID); if (holder.Standings.Count == 0) { ImmutableInterlocked.TryRemove(ref _standingsHolders, holder.sourceEID, out holder); } }