//public static DirectoryInfo GetLogDirectory() //{ // var assembly = new FileInfo(Assembly.GetExecutingAssembly().Location); // var folder = assembly.Directory; // var logs = Path.Combine(folder.FullName, "Logs"); // return new DirectoryInfo(logs); //} //public static Target[] GetLogTargets() //{ // var directory = GetLogDirectory(); // if (!directory.Exists) return new Target[0]; // var targets = new List<Target>(); // foreach (var file in directory.GetFiles("*.ipt")) // { // targets.Add(new Target(file)); // } // return targets.ToArray(); //} //public static FileInfo GetLogFilePath(IPAddress address) //{ // var fileName = string.Format("{0}.ipt", // string.Join("-", address.GetAddressBytes().Select(x => x.ToString()).ToArray())); // return new FileInfo(Path.Combine(GetLogDirectory().FullName, fileName)); //} public void AddDataPoint(short latency, IPStatus status) { var dp = new DataPoint(latency, status, DateTime.Now); lock (_lock) { dataPoints.Add(dp); } sync.Add(dp); LatestDataPoint = dp; DataPointAdded?.Invoke(this, new EventArgs()); }