Ejemplo n.º 1
0
        /// <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;
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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);
            }
        }
Ejemplo n.º 4
0
        /// <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;
        }
Ejemplo n.º 5
0
        /// <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;
        }