private static string GetTimeWindowString(OpnetTimeSpan timeInterval) { var start = timeInterval.OpnetStartDateTimeString; var end = timeInterval.OpnetEndDateTimeString; return(string.Concat("[", start, "-", end, "]")); }
public static string CalculateValuePerSecond(OpnetTimeSpan timeInterval, string value) { var duration = timeInterval.GetTimeInterval(); try { return((int.Parse(value) / duration).ToString()); } catch (ArithmeticException) { Console.WriteLine($"{Environment.NewLine}Blad w wyliczaniu statystyk: " + $"{nameof(timeInterval)}: {timeInterval}, {nameof(value)}: {value}"); throw; } }
public override void Parse() { var fileToParseString = InputFileReader.ReadToEnd(); var maxDateTime = new OpnetTimeSpan (startTimeString: "9999-12-30 00:00:00", endTimeString: "1000-12-30 00:00:00"); var minDateTime = new OpnetTimeSpan (startTimeString: "1000-12-30 00:00:00", endTimeString: "1000-12-30 00:00:00"); var timeOrigin = base.GetBorderTime(fileToParseString, Tools.CheckIfSmaller, maxDateTime) .OpnetStartDateTimeString; var timeEnd = base.GetBorderTime(fileToParseString, Tools.CheckIfGreater, minDateTime) .OpnetEndDateTimeString; AppendHeaders(timeOrigin, timeEnd); base.ParsingLoop(fileToParseString); this.OutputFileWriter.WriteLine(this.StringBuilder.ToString()); }
protected override string ParseLine(ICollection <string> fields) { var timeInterval = new OpnetTimeSpan ( fields.ElementAt(StartTimeIndex), fields.ElementAt(EndTimeIndex) ); var sourceAddress = fields.ElementAt(SourceAddressIndex); var destinationAddress = fields.ElementAt(DestinationAddressIndex); var timeWindow = GetTimeWindowString(timeInterval); var packets = fields.ElementAt(PacketsCountIndex); var bytes = fields.ElementAt(BytesCountIndex); var packetsPerSecond = Tools.CalculateValuePerSecond(timeInterval, packets); var bitsPerSecond = Tools.CalculateValuePerSecond(timeInterval, Tools.ConvertBytesToBits(bytes)); return(string.Join(",", sourceAddress, destinationAddress, timeWindow, packetsPerSecond, bitsPerSecond)); }
protected override string ParseLine(ICollection <string> fields) { var timeInterval = new OpnetTimeSpan (startTimeString: fields.ElementAt(StartTimeIndex), endTimeString: fields.ElementAt(EndTimeIndex)); var startTime = timeInterval.OpnetStartDateTimeString; var endTime = timeInterval.OpnetEndDateTimeString; var sourceAddres = fields.ElementAt(SourceAddressIndex); var destinationAddress = fields.ElementAt(DestinationAddressIndex); var sourcePort = fields.ElementAt(SourcePortIndex); var destinationPort = fields.ElementAt(DestinationPortIndex); var protocol = fields.ElementAt(ProtocolIndex); var packets = fields.ElementAt(PacketsCountIndex); var bytes = fields.ElementAt(BytesCountIndex); var packetsPerSecond = Tools.CalculateValuePerSecond(timeInterval, packets); var bitsPerSecond = Tools.CalculateValuePerSecond(timeInterval, Tools.ConvertBytesToBits(bytes)); return(string.Join(",", sourceAddres, destinationAddress, protocol, sourcePort, destinationPort, startTime, endTime, bitsPerSecond, packetsPerSecond)); }
protected OpnetTimeSpan GetBorderTime ( string fileText, Func <OpnetTimeSpan, OpnetTimeSpan, OpnetTimeSpan> condition, OpnetTimeSpan dateSearchinitializer ) { var resultDateTime = dateSearchinitializer; using (var reader = new StringReader(fileText)) { string line; var counter = 0; while ((line = reader.ReadLine()) != null) { if (line.Contains("Summary")) { break; } if (counter > 1) { var fields = line.Split(','); var currentDateTime = new OpnetTimeSpan ( startTimeString: fields.ElementAt(StartTimeIndex), endTimeString: fields.ElementAt(EndTimeIndex) ); resultDateTime = condition.Invoke(currentDateTime, resultDateTime); } ++counter; } } return(resultDateTime); }
public static OpnetTimeSpan CheckIfGreater(OpnetTimeSpan current, OpnetTimeSpan currentMax) => current.GetHigherEndDateTime(currentMax);
public static OpnetTimeSpan CheckIfSmaller(OpnetTimeSpan current, OpnetTimeSpan currentMin) => current.GetSmallerStartDateTime(currentMin);