Browse Source

refactor

tags/3.0
icylogic 9 years ago
parent
commit
eb6ae48bc1
1 changed files with 5 additions and 7 deletions
  1. +5
    -7
      shadowsocks-csharp/Controller/Strategy/StatisticsStrategy.cs

+ 5
- 7
shadowsocks-csharp/Controller/Strategy/StatisticsStrategy.cs View File

@@ -1,7 +1,5 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.NetworkInformation;
@@ -39,7 +37,7 @@ namespace Shadowsocks.Controller.Strategy

private void LoadStatistics()
{
_filteredStatistics = _controller.availabilityStatistics.rawStatistics ?? _filteredStatistics ?? new Dictionary<string, List<AvailabilityStatistics.RawStatisticsData>>();
_filteredStatistics = _controller.availabilityStatistics.RawStatistics ?? _filteredStatistics ?? new Dictionary<string, List<AvailabilityStatistics.RawStatisticsData>>();
}

//return the score by data
@@ -49,11 +47,11 @@ namespace Shadowsocks.Controller.Strategy
var config = _controller.StatisticsConfiguration;
List<AvailabilityStatistics.RawStatisticsData> dataList;
if (_filteredStatistics == null || !_filteredStatistics.TryGetValue(serverName, out dataList)) return 0;
var SuccessTimes = (float) dataList.Count(data => data.ICMPStatus.Equals(IPStatus.Success.ToString()));
var TimedOutTimes = (float) dataList.Count(data => data.ICMPStatus.Equals(IPStatus.TimedOut.ToString()));
var statisticsData = new AvailabilityStatistics.StatisticsData()
var successTimes = (float) dataList.Count(data => data.ICMPStatus.Equals(IPStatus.Success.ToString()));
var timedOutTimes = (float) dataList.Count(data => data.ICMPStatus.Equals(IPStatus.TimedOut.ToString()));
var statisticsData = new AvailabilityStatistics.StatisticsData
{
PackageLoss = TimedOutTimes/(SuccessTimes + TimedOutTimes)*100,
PackageLoss = timedOutTimes/(successTimes + timedOutTimes)*100,
AverageResponse = Convert.ToInt32(dataList.Average(data => data.RoundtripTime)),
MinResponse = dataList.Min(data => data.RoundtripTime),
MaxResponse = dataList.Max(data => data.RoundtripTime)


Loading…
Cancel
Save