internal CachedLocalStat(SiloAddress address, SiloRuntimeStatistics siloStats)
 {
     Address = address;
     SiloStats = siloStats;
 }
 private static bool IsSiloOverloaded(SiloRuntimeStatistics stats)
 {
     return stats.IsOverloaded || stats.CpuUsage >= 100;
 }
 public void SiloStatisticsChangeNotification(SiloAddress updatedSilo, SiloRuntimeStatistics newSiloStats)
 {
     // just create a new empty CachedLocalStat and throw the old one.
     var updatedCacheEntry = new CachedLocalStat(updatedSilo, newSiloStats);
     localCache.AddOrUpdate(updatedSilo, k => updatedCacheEntry, (k, v) => updatedCacheEntry);
 }