/// <summary> /// Initializes a new instance of the Processing class /// </summary> /// <param name="theDebugInformation">The object that provides for the logging of debug information</param> /// <param name="outputHistogram">Boolean flag that indicates whether to output the histogram</param> /// <param name="outputAdditionalInformation">Boolean flag that indicates whether to output additional information</param> /// <param name="theSelectedPacketCaptureFile">The path of the selected packet capture</param> public Processing(Analysis.DebugInformation theDebugInformation, bool outputHistogram, bool outputAdditionalInformation, string theSelectedPacketCaptureFile) { this.theDebugInformation = theDebugInformation; this.outputHistogram = outputHistogram; this.outputAdditionalInformation = outputAdditionalInformation; this.theSelectedPacketCaptureFile = theSelectedPacketCaptureFile; // Create a datatable to hold the timestamp values for messages this.theTimestampValuesTable = new System.Data.DataTable(); this.theTimestampValuesTable.Locale = System.Globalization.CultureInfo.InvariantCulture; // Create a datatable to hold the set of host Ids encountered during the burst analysis this.theHostIdsTable = new System.Data.DataTable(); this.theHostIdsTable.Locale = System.Globalization.CultureInfo.InvariantCulture; // Create a datatable to hold the set of message Ids encountered during the burst analysis this.theMessageIdsTable = new System.Data.DataTable(); this.theMessageIdsTable.Locale = System.Globalization.CultureInfo.InvariantCulture; }
/// <summary> /// Initializes a new instance of the Processing class /// </summary> /// <param name="theDebugInformation">The object that provides for the logging of debug information</param> /// <param name="theBinaryReader">The object that provides for binary reading from the packet capture</param> /// <param name="performLatencyAnalysisProcessing">Boolean flag that indicates whether to perform latency analysis processing for data read from the packet capture</param> /// <param name="theLatencyAnalysisProcessing">The object that provides the latency analysis processing for data read from the packet capture</param> /// <param name="performBurstAnalysisProcessing">Boolean flag that indicates whether to perform burst analysis processing for data read from the packet capture</param> /// <param name="theBurstAnalysisProcessing">The object that provides the burst analysis processing for data read from the packet capture</param> /// <param name="performTimeAnalysisProcessing">Boolean flag that indicates whether to perform time analysis processing for data read from the packet capture</param> /// <param name="theTimeAnalysisProcessing">The object that provides the time analysis processing for data read from the packet capture</param> /// <param name="useAlternativeSequenceNumber">Boolean flag that indicates whether to use the alternative sequence number in the data read from the packet capture, required for legacy recordings</param> public Processing(Analysis.DebugInformation theDebugInformation, System.IO.BinaryReader theBinaryReader, bool performLatencyAnalysisProcessing, Analysis.LatencyAnalysis.Processing theLatencyAnalysisProcessing, bool performBurstAnalysisProcessing, Analysis.BurstAnalysis.Processing theBurstAnalysisProcessing, bool performTimeAnalysisProcessing, Analysis.TimeAnalysis.Processing theTimeAnalysisProcessing, bool useAlternativeSequenceNumber) { this.theDebugInformation = theDebugInformation; this.theBinaryReader = theBinaryReader; //// Create instances of the processing classes for each protocol this.theICMPv4PacketProcessing = new ICMPv4Packet.Processing(theBinaryReader); this.theIGMPv2PacketProcessing = new IGMPv2Packet.Processing(theBinaryReader); this.theTCPPacketProcessing = new TCPPacket.Processing( theDebugInformation, theBinaryReader, performLatencyAnalysisProcessing, theLatencyAnalysisProcessing, performBurstAnalysisProcessing, theBurstAnalysisProcessing, performTimeAnalysisProcessing, theTimeAnalysisProcessing, useAlternativeSequenceNumber); this.theUDPDatagramProcessing = new UDPDatagram.Processing( theDebugInformation, theBinaryReader, performLatencyAnalysisProcessing, theLatencyAnalysisProcessing, performBurstAnalysisProcessing, theBurstAnalysisProcessing, performTimeAnalysisProcessing, theTimeAnalysisProcessing, useAlternativeSequenceNumber); this.theEIGRPPacketProcessing = new EIGRPPacket.Processing(theBinaryReader); }
/// <summary> /// Initializes a new instance of the CommonHistogram class /// </summary> /// <param name="theDebugInformation">The object that provides for the logging of debug information</param> /// <param name="theNumOfValueBins">The number of bins to use for the histogram</param> /// <param name="theMinAllowedValue">The minimum value allowed to be added to the bins for the histogram</param> /// <param name="theMaxAllowedValue">The maximum value allowed to be added to the bins for the histogram</param> public CommonHistogram(Analysis.DebugInformation theDebugInformation, uint theNumOfValueBins, double theMinAllowedValue, double theMaxAllowedValue) { if (theDebugInformation == null) { throw new System.ArgumentNullException("theDebugInformation"); } this.theDebugInformation = theDebugInformation; if (theMinAllowedValue == theMaxAllowedValue) { this.theDebugInformation.WriteErrorEvent( "The minimum and maximum allowed values for the histogram are equal!!!"); throw new System.ArgumentException( "Error: The minimum and maximum allowed values for the histogram are equal!!!"); } this.theValueBinCounts = new uint[theNumOfValueBins]; if (theMaxAllowedValue > theMinAllowedValue) { this.CalculateValueBinBoundaries( theNumOfValueBins, theMinAllowedValue, theMaxAllowedValue); } else { this.theDebugInformation.WriteErrorEvent( "The minimum value is greater than the maximum value!"); this.CalculateValueBinBoundaries( theNumOfValueBins, theMaxAllowedValue, theMinAllowedValue); } }
/// <summary> /// Initializes a new instance of the Processing class /// </summary> /// <param name="theDebugInformation">The object that provides for the logging of debug information</param> /// <param name="theBinaryReader">The object that provides for binary reading from the packet capture</param> public Processing(Analysis.DebugInformation theDebugInformation, System.IO.BinaryReader theBinaryReader) { this.theDebugInformation = theDebugInformation; this.theBinaryReader = theBinaryReader; }
/// <summary> /// Initializes a new instance of the Processing class /// </summary> /// <param name="theDebugInformation">The object that provides for the logging of debug information</param> /// <param name="theBinaryReader">The object that provides for binary reading from the packet capture</param> /// <param name="performLatencyAnalysisProcessing">Boolean flag that indicates whether to perform latency analysis processing for data read from the packet capture</param> /// <param name="theLatencyAnalysisProcessing">The object that provides the latency analysis processing for data read from the packet capture</param> /// <param name="performBurstAnalysisProcessing">Boolean flag that indicates whether to perform burst analysis processing for data read from the packet capture</param> /// <param name="theBurstAnalysisProcessing">The object that provides the burst analysis processing for data read from the packet capture</param> /// <param name="performTimeAnalysisProcessing">Boolean flag that indicates whether to perform time analysis processing for data read from the packet capture</param> /// <param name="theTimeAnalysisProcessing">The object that provides the time analysis processing for data read from the packet capture</param> /// <param name="useAlternativeSequenceNumber">Boolean flag that indicates whether to use the alternative sequence number in the data read from the packet capture, required for legacy recordings</param> public Processing(Analysis.DebugInformation theDebugInformation, System.IO.BinaryReader theBinaryReader, bool performLatencyAnalysisProcessing, Analysis.LatencyAnalysis.Processing theLatencyAnalysisProcessing, bool performBurstAnalysisProcessing, Analysis.BurstAnalysis.Processing theBurstAnalysisProcessing, bool performTimeAnalysisProcessing, Analysis.TimeAnalysis.Processing theTimeAnalysisProcessing, bool useAlternativeSequenceNumber) { this.theDebugInformation = theDebugInformation; this.theBinaryReader = theBinaryReader; }