Xamarin Public Jenkins (auto-signing) e79aa3c0ed Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
2016-08-03 10:59:49 +00:00

63 lines
1.4 KiB
C#

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;
}
}
}