예제 #1
0
        /// <summary>
        /// Dekomprimiert die Moduldaten, sofern erforderlich.
        /// </summary>
        /// <returns>Gesetzt, wenn keine Komprimierung vorlag oder diese erfolgreich aufgelöst wurde.</returns>
        private bool Decompress()
        {
            // Be safe
            try
            {
                // Create helper
                Decompressor worker = new Decompressor();

                // Set it up
                bool?start = worker.StartDecompression(m_Collector).GetValueOrDefault();

                // We are in error
                if (!start.HasValue)
                {
                    // Count
                    ++CompressionError;

                    // Done
                    return(false);
                }

                // There is no compression
                if (!start.Value)
                {
                    return(true);
                }

                // Loop over
                while (worker.DecompressPacket())
                {
                    ;
                }

                // Check for error
                m_Collector = worker.FinishDecompression();

                // Did it
                if (null != m_Collector)
                {
                    return(true);
                }
            }
            catch
            {
                // Report any error
            }

            // Report
            ++CompressionError;

            // Stop right here
            return(false);
        }
예제 #2
0
        /// <summary>
        /// Dekomprimiert die Moduldaten, sofern erforderlich.
        /// </summary>
        /// <returns>Gesetzt, wenn keine Komprimierung vorlag oder diese erfolgreich aufgelöst wurde.</returns>
        private bool Decompress()
        {
            // Be safe
            try
            {
                // Create helper
                Decompressor worker = new Decompressor();

                // Set it up
                bool? start = worker.StartDecompression(m_Collector).GetValueOrDefault();

                // We are in error
                if (!start.HasValue)
                {
                    // Count
                    ++CompressionError;

                    // Done
                    return false;
                }

                // There is no compression
                if (!start.Value) return true;

                // Loop over
                while (worker.DecompressPacket()) ;

                // Check for error
                m_Collector = worker.FinishDecompression();

                // Did it
                if (null != m_Collector) return true;
            }
            catch
            {
                // Report any error
            }

            // Report
            ++CompressionError;

            // Stop right here
            return false;
        }