DeflateInput.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Sys / System / IO / compression / DeflateInput.cs / 1305376 / DeflateInput.cs

                            namespace System.IO.Compression { 
    using System.Diagnostics;

    internal class DeflateInput {
        private byte[] buffer; 
        private int count;
        private int startIndex; 
 
        internal byte[] Buffer {
            get { 
                return buffer;
            }
            set {
                buffer = value; 
            }
        } 
 
        internal int Count {
            get { 
                return count;
            }
            set {
                count = value; 
            }
        } 
 
        internal int StartIndex {
            get { 
                return startIndex;
            }
            set {
                startIndex = value; 
            }
        } 
 
        internal void ConsumeBytes(int n) {
            Debug.Assert(n <= count, "Should use more bytes than what we have in the buffer"); 
            startIndex += n;
            count -= n;
            Debug.Assert(startIndex + count <= buffer.Length, "Input buffer is in invalid state!");
        } 

        internal InputState DumpState() { 
            InputState savedState; 
            savedState.count = count;
            savedState.startIndex = startIndex; 
            return savedState;
        }

        internal void RestoreState(InputState state) { 
            count = state.count;
            startIndex = state.startIndex; 
        } 

        internal struct InputState { 
            internal int count;
            internal int startIndex;
        }
    } 

} 
 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
namespace System.IO.Compression { 
    using System.Diagnostics;

    internal class DeflateInput {
        private byte[] buffer; 
        private int count;
        private int startIndex; 
 
        internal byte[] Buffer {
            get { 
                return buffer;
            }
            set {
                buffer = value; 
            }
        } 
 
        internal int Count {
            get { 
                return count;
            }
            set {
                count = value; 
            }
        } 
 
        internal int StartIndex {
            get { 
                return startIndex;
            }
            set {
                startIndex = value; 
            }
        } 
 
        internal void ConsumeBytes(int n) {
            Debug.Assert(n <= count, "Should use more bytes than what we have in the buffer"); 
            startIndex += n;
            count -= n;
            Debug.Assert(startIndex + count <= buffer.Length, "Input buffer is in invalid state!");
        } 

        internal InputState DumpState() { 
            InputState savedState; 
            savedState.count = count;
            savedState.startIndex = startIndex; 
            return savedState;
        }

        internal void RestoreState(InputState state) { 
            count = state.count;
            startIndex = state.startIndex; 
        } 

        internal struct InputState { 
            internal int count;
            internal int startIndex;
        }
    } 

} 
 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK