Пример #1
0
        // Implies mode = Compress
        public DeflateStream(Stream stream, CompressionLevel compressionLevel, bool leaveOpen)
        {
            if (stream == null)
            {
                throw new ArgumentNullException("stream");
            }

            if (!stream.CanWrite)
            {
                throw new ArgumentException(SR.GetString(SR.NotWriteableStream), "stream");
            }

            // Checking of compressionLevel is passed down to the IDeflater implementation as it
            // is a pluggable component that completely encapsulates the meaning of compressionLevel.


            _stream    = stream;
            _mode      = CompressionMode.Compress;
            _leaveOpen = leaveOpen;

            deflater = CreateDeflater(compressionLevel);

#if !NETFX_CORE
            m_AsyncWriterDelegate = new AsyncWriteDelegate(this.InternalWrite);
            m_CallBack            = new AsyncCallback(WriteCallback);
#endif

            buffer = new byte[DefaultBufferSize];
        }
Пример #2
0
        internal DeflateStream(Stream stream, CompressionMode mode, bool leaveOpen, bool usingGZip)
        {
            this._stream = stream;
            this._mode = mode;
            this._leaveOpen = leaveOpen;
            if (this._stream == null) {
                throw new ArgumentNullException("stream");
            }
            switch (this._mode) {
                case CompressionMode.Decompress:
                    if (!this._stream.CanRead) {
                        throw new ArgumentException("The base stream is not readable.", "stream");
                    }
                    this.inflater = new Inflater(usingGZip);
                    this.m_CallBack = new AsyncCallback(this.ReadCallback);
                    break;

                case CompressionMode.Compress:
                    if (!this._stream.CanWrite) {
                        throw new ArgumentException("The base stream is not writeable.", "stream");
                    }
                    this.deflater = new Deflater(usingGZip);
                    this.m_AsyncWriterDelegate = new AsyncWriteDelegate(this.InternalWrite);
                    this.m_CallBack = new AsyncCallback(this.WriteCallback);
                    break;

                default:
                    throw new ArgumentException("Enum value was out of legal range.", "mode");
            }
            this.buffer = new byte[0x1000];
        }
Пример #3
0
        internal DeflateStream(Stream stream, CompressionMode mode, bool leaveOpen, bool usingGZip)
        {
            this._stream    = stream;
            this._mode      = mode;
            this._leaveOpen = leaveOpen;
            if (this._stream == null)
            {
                throw new ArgumentNullException("stream");
            }
            switch (this._mode)
            {
            case CompressionMode.Decompress:
                if (!this._stream.CanRead)
                {
                    throw new ArgumentException("The base stream is not readable.", "stream");
                }
                this.inflater   = new Inflater(usingGZip);
                this.m_CallBack = new AsyncCallback(this.ReadCallback);
                break;

            case CompressionMode.Compress:
                if (!this._stream.CanWrite)
                {
                    throw new ArgumentException("The base stream is not writeable.", "stream");
                }
                this.deflater = new Deflater(usingGZip);
                this.m_AsyncWriterDelegate = new AsyncWriteDelegate(this.InternalWrite);
                this.m_CallBack            = new AsyncCallback(this.WriteCallback);
                break;

            default:
                throw new ArgumentException("Enum value was out of legal range.", "mode");
            }
            this.buffer = new byte[0x1000];
        }
        public DeflateStream(Stream stream, CompressionMode mode, bool leaveOpen)
        {
            this._stream = stream;
            this._mode = mode;
            this._leaveOpen = leaveOpen;
            if (this._stream == null)
            {
                throw new ArgumentNullException("stream");
            }
            switch (this._mode)
            {
                case CompressionMode.Decompress:
                    if (!this._stream.CanRead)
                    {
                        throw new ArgumentException(SR.GetString("NotReadableStream"), "stream");
                    }
                    this.inflater = new Inflater();
                    this.m_CallBack = new AsyncCallback(this.ReadCallback);
                    break;

                case CompressionMode.Compress:
                    if (!this._stream.CanWrite)
                    {
                        throw new ArgumentException(SR.GetString("NotWriteableStream"), "stream");
                    }
                    this.deflater = new Deflater();
                    this.m_AsyncWriterDelegate = new AsyncWriteDelegate(this.InternalWrite);
                    this.m_CallBack = new AsyncCallback(this.WriteCallback);
                    break;

                default:
                    throw new ArgumentException(SR.GetString("ArgumentOutOfRange_Enum"), "mode");
            }
            this.buffer = new byte[0x1000];
        }
        internal DeflateStream(Stream stream, CompressionMode mode, bool leaveOpen, bool usingGZip){                                                                                          
            _stream = stream;
            _mode = mode;
            _leaveOpen = leaveOpen;

            if(_stream == null ) {
                throw new ArgumentNullException("stream");
            }

            switch (_mode) {
            case CompressionMode.Decompress:
                if (!(_stream.CanRead)) {
                    throw new ArgumentException(SR.GetString(SR.NotReadableStream), "stream");
                }
                inflater = new Inflater(usingGZip);
                m_CallBack = new AsyncCallback(ReadCallback); 
                break;

            case CompressionMode.Compress:
                if (!(_stream.CanWrite)) {
                    throw new ArgumentException(SR.GetString(SR.NotWriteableStream), "stream");
                }
                deflater = new Deflater(usingGZip);
                m_AsyncWriterDelegate = new AsyncWriteDelegate(this.InternalWrite);
                m_CallBack = new AsyncCallback(WriteCallback); 
                break;    

            default:
                throw new ArgumentException(SR.GetString(SR.ArgumentOutOfRange_Enum), "mode");
            }           
            buffer = new byte[bufferSize];
        }
Пример #6
0
        public DeflateStream(Stream stream, CompressionMode mode, bool leaveOpen)
        {
            this._stream    = stream;
            this._mode      = mode;
            this._leaveOpen = leaveOpen;
            if (this._stream == null)
            {
                throw new ArgumentNullException("stream");
            }
            switch (this._mode)
            {
            case CompressionMode.Decompress:
                if (!this._stream.CanRead)
                {
                    throw new ArgumentException(SR.GetString("NotReadableStream"), "stream");
                }
                this.inflater   = new Inflater();
                this.m_CallBack = new AsyncCallback(this.ReadCallback);
                break;

            case CompressionMode.Compress:
                if (!this._stream.CanWrite)
                {
                    throw new ArgumentException(SR.GetString("NotWriteableStream"), "stream");
                }
                this.deflater = new Deflater();
                this.m_AsyncWriterDelegate = new AsyncWriteDelegate(this.InternalWrite);
                this.m_CallBack            = new AsyncCallback(this.WriteCallback);
                break;

            default:
                throw new ArgumentException(SR.GetString("ArgumentOutOfRange_Enum"), "mode");
            }
            this.buffer = new byte[0x1000];
        }
Пример #7
0
    public bool OutBufferFilled_Discard_Cycle()
    {
        SerialPort         com1  = new SerialPort(TCSupport.LocalMachineSerialInfo.FirstAvailablePortName);
        AsyncWriteDelegate write = new AsyncWriteDelegate(WriteRndByteArray);
        IAsyncResult       asyncResult;
        bool retValue = true;

        Console.WriteLine("Verifying call Discard method after input buffer has been filled discarded and filled again");

        com1.Open();
        com1.WriteTimeout = 500;
        com1.Handshake    = Handshake.RequestToSend;

        asyncResult = write.BeginInvoke(com1, DEFAULT_BUFFER_LENGTH, null, null);

        while (DEFAULT_BUFFER_LENGTH > com1.BytesToWrite)
        {
            System.Threading.Thread.Sleep(50);
        }

        retValue &= VerifyDiscard(com1);

        //Wait for write method to timeout
        while (!asyncResult.IsCompleted)
        {
            System.Threading.Thread.Sleep(100);
        }

        asyncResult = write.BeginInvoke(com1, DEFAULT_BUFFER_LENGTH, null, null);

        while (DEFAULT_BUFFER_LENGTH > com1.BytesToWrite)
        {
            System.Threading.Thread.Sleep(50);
        }

        retValue &= VerifyDiscard(com1);

        //Wait for write method to timeout
        while (!asyncResult.IsCompleted)
        {
            System.Threading.Thread.Sleep(100);
        }

        if (!retValue)
        {
            Console.WriteLine("Err_003!!! Verifying call Discard method after input buffer has been filled discarded and filled again FAILED");
        }

        if (com1.IsOpen)
        {
            com1.Close();
        }

        return(retValue);
    }
Пример #8
0
        public DeflateStream(Stream stream, CompressionMode mode, bool leaveOpen)
        {
            if (stream == null)
            {
                throw new ArgumentNullException("stream");
            }

            if (CompressionMode.Compress != mode && CompressionMode.Decompress != mode)
            {
                throw new ArgumentException(SR.GetString(SR.ArgumentOutOfRange_Enum), "mode");
            }

            _stream    = stream;
            _mode      = mode;
            _leaveOpen = leaveOpen;

            switch (_mode)
            {
            case CompressionMode.Decompress:

                if (!_stream.CanRead)
                {
                    throw new ArgumentException(SR.GetString(SR.NotReadableStream), "stream");
                }

                inflater = new Inflater();

#if !NETFX_CORE
                m_CallBack = new AsyncCallback(ReadCallback);
#endif
                break;

            case CompressionMode.Compress:

                if (!_stream.CanWrite)
                {
                    throw new ArgumentException(SR.GetString(SR.NotWriteableStream), "stream");
                }

                deflater = CreateDeflater();

#if !NETFX_CORE
                m_AsyncWriterDelegate = new AsyncWriteDelegate(this.InternalWrite);
                m_CallBack            = new AsyncCallback(WriteCallback);
#endif

                break;
            }  // switch (_mode)

            buffer = new byte[DefaultBufferSize];
        }
Пример #9
0
    public bool InAndOutBufferFilled_Discard()
    {
        SerialPort         com1  = new SerialPort(TCSupport.LocalMachineSerialInfo.FirstAvailablePortName);
        SerialPort         com2  = new SerialPort(TCSupport.LocalMachineSerialInfo.SecondAvailablePortName);
        AsyncWriteDelegate write = new AsyncWriteDelegate(WriteRndByteArray);
        IAsyncResult       asyncResult;
        int  origBytesToWrite;
        bool retValue = true;

        Console.WriteLine("Verifying Discard method after input buffer has been filled");
        com1.Open();
        com2.Open();
        com1.WriteTimeout = 500;
        asyncResult       = write.BeginInvoke(com1, DEFAULT_BUFFER_LENGTH, null, null);
        System.Threading.Thread.Sleep(100);
        origBytesToWrite = com1.BytesToWrite;
        retValue        &= VerifyDiscard(com1);
        if (com1.BytesToWrite != origBytesToWrite)
        {
            Console.WriteLine("Expected BytesToWrite={0} after calling DiscardInBuffer() actual={1}", origBytesToWrite, com1.BytesToWrite);
            retValue = false;
        }

        //Wait for write method to timeout
        while (!asyncResult.IsCompleted)
        {
            System.Threading.Thread.Sleep(100);
        }

        if (!retValue)
        {
            Console.WriteLine("Err_004!!! Verifying Discard method after input buffer has been filled FAILED");
        }

        if (com1.IsOpen)
        {
            com1.Close();
        }

        if (com2.IsOpen)
        {
            com2.Close();
        }

        return(retValue);
    }
Пример #10
0
        public DeflateStream(Stream stream, CompressionMode mode, bool leaveOpen) {
           
            if(stream == null )
                throw new ArgumentNullException("stream");

            if (CompressionMode.Compress != mode && CompressionMode.Decompress != mode)
                throw new ArgumentException(SR.GetString(SR.ArgumentOutOfRange_Enum), "mode");

            _stream = stream;
            _mode = mode;
            _leaveOpen = leaveOpen;

            switch (_mode) {

                case CompressionMode.Decompress:

                    if (!_stream.CanRead) {
                        throw new ArgumentException(SR.GetString(SR.NotReadableStream), "stream");
                    }

                    inflater = new Inflater();

#if !NETFX_CORE
                    m_CallBack = new AsyncCallback(ReadCallback); 
#endif
                    break;

                case CompressionMode.Compress:

                    if (!_stream.CanWrite) {
                        throw new ArgumentException(SR.GetString(SR.NotWriteableStream), "stream");
                    }

                    deflater = CreateDeflater();
                    
#if !NETFX_CORE
                    m_AsyncWriterDelegate = new AsyncWriteDelegate(this.InternalWrite);
                    m_CallBack = new AsyncCallback(WriteCallback); 
#endif

                    break;                        

            }  // switch (_mode)

            buffer = new byte[DefaultBufferSize];
        }
Пример #11
0
        public DeflateStream(Stream stream, CompressionMode mode, bool leaveOpen)
        {
            _stream    = stream;
            _mode      = mode;
            _leaveOpen = leaveOpen;

            if (_stream == null)
            {
                throw new ArgumentNullException("stream");
            }

            switch (_mode)
            {
            case CompressionMode.Decompress:
                if (!(_stream.CanRead))
                {
                    throw new ArgumentException("NotReadableStream", "stream");
                }
                inflater = new Inflater();

                m_CallBack = new AsyncCallback(ReadCallback);
                break;

            case CompressionMode.Compress:
                if (!(_stream.CanWrite))
                {
                    throw new ArgumentException("NotWriteableStream", "stream");
                }

                deflater = new Deflater();

                m_AsyncWriterDelegate = new AsyncWriteDelegate(InternalWrite);
                m_CallBack            = new AsyncCallback(WriteCallback);
                break;

            default:
                throw new ArgumentException("ArgumentOutOfRange_Enum", "mode");
            }
            buffer = new byte[bufferSize];
        }
        public DeflateStream(Stream stream, CompressionMode mode, bool leaveOpen)
        {

            if (stream == null)
                throw new ArgumentNullException("stream");

            if (CompressionMode.Compress != mode && CompressionMode.Decompress != mode)
                throw new ArgumentOutOfRangeException("mode");

            this.BaseStream = stream;
            _mode = mode;
            _leaveOpen = leaveOpen;

            switch (_mode)
            {
                case CompressionMode.Decompress:
                    if (!BaseStream.CanRead)
                        throw new ArgumentException("Stream is not readable.", "stream");

                    _inflater = new Inflater();

                    _callBack = ReadCallback;
                    break;

                case CompressionMode.Compress:
                    if (!BaseStream.CanWrite)
                        throw new ArgumentException("Stream is not writeable", "stream");

                    _deflater = new Deflater();

                    _asyncWriterDelegate = this.InternalWrite;
                    _callBack = WriteCallback;
                    break;

            }

            _buffer = new byte[DefaultBufferSize];
        }
Пример #13
0
        internal DeflateStream(Stream stream, CompressionMode mode, bool leaveOpen, bool usingGZip)
        {
            _stream    = stream;
            _mode      = mode;
            _leaveOpen = leaveOpen;

            if (_stream == null)
            {
                throw new ArgumentNullException("stream");
            }

            switch (_mode)
            {
            case CompressionMode.Decompress:
                if (!(_stream.CanRead))
                {
                    throw new ArgumentException("SR.NotReadableStream");
                }
                _inflater  = new Inflater(usingGZip);
                _mCallBack = new AsyncCallback(ReadCallback);
                break;

            case CompressionMode.Compress:
                if (!(_stream.CanWrite))
                {
                    throw new ArgumentException("SR.NotWriteableStream");
                }
                _deflater             = new Deflater(usingGZip);
                _mAsyncWriterDelegate = new AsyncWriteDelegate(this.InternalWrite);
                _mCallBack            = new AsyncCallback(WriteCallback);
                break;

            default:
                throw new ArgumentException("SR.ArgumentOutOfRange_Enum");
            }
            _buffer = new byte[BufferSize];
        }
Пример #14
0
        // Implies mode = Compress
        public DeflateStream(Stream stream, CompressionLevel compressionLevel, bool leaveOpen) {

            if (stream == null)
                throw new ArgumentNullException("stream");

            if (!stream.CanWrite)
                throw new ArgumentException(SR.GetString(SR.NotWriteableStream), "stream");

            // Checking of compressionLevel is passed down to the IDeflater implementation as it
            // is a pluggable component that completely encapsulates the meaning of compressionLevel.
            
            Contract.EndContractBlock();

            _stream = stream;
            _mode = CompressionMode.Compress;
            _leaveOpen = leaveOpen;

            deflater = CreateDeflater(compressionLevel);

            m_AsyncWriterDelegate = new AsyncWriteDelegate(this.InternalWrite);
            m_CallBack = new AsyncCallback(WriteCallback);
           
            buffer = new byte[DefaultBufferSize];
        }        
        // Implies mode = Compress
        public DeflateStream(Stream stream, bool leaveOpen)
        {

            if (stream == null)
                throw new ArgumentNullException("stream");

            if (!stream.CanWrite)
                throw new ArgumentException("Stream is not writeable.", "stream");

            this.BaseStream = stream;
            _mode = CompressionMode.Compress;
            _leaveOpen = leaveOpen;

            _deflater = new Deflater();

            _asyncWriterDelegate = this.InternalWrite;
            _callBack = WriteCallback;

            _buffer = new byte[DefaultBufferSize];
        }