public static GeneralStatistics GetGeneralStatistics(StatisticsQueryFlags queryFlags) { GeneralStatistics result = default(GeneralStatistics); result.QueryFlags = queryFlags; if ((byte)(queryFlags & StatisticsQueryFlags.Connections) != 0) { int num = 0; foreach (KeyValuePair <string, List <HTTPConnection> > current in HTTPManager.Connections) { if (current.Value != null) { num += current.Value.Count; } } result.Connections = num; result.ActiveConnections = HTTPManager.ActiveConnections.Count; result.FreeConnections = HTTPManager.FreeConnections.Count; result.RecycledConnections = HTTPManager.RecycledConnections.Count; result.RequestsInQueue = HTTPManager.RequestQueue.Count; } if ((byte)(queryFlags & StatisticsQueryFlags.Cache) != 0) { result.CacheEntityCount = HTTPCacheService.GetCacheEntityCount(); result.CacheSize = HTTPCacheService.GetCacheSize(); } if ((byte)(queryFlags & StatisticsQueryFlags.Cookies) != 0) { List <Cookie> all = CookieJar.GetAll(); result.CookieCount = all.Count; uint num2 = 0u; for (int i = 0; i < all.Count; i++) { num2 += all[i].GuessSize(); } result.CookieJarSize = num2; } return(result); }