Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ Inflate()

int System.IO.Compression.InflaterManaged.Inflate ( Span< byte > bytes)
inline

Definition at line 114 of file InflaterManaged.cs.

115 {
116 int num = 0;
117 do
118 {
119 int num2 = 0;
120 if (_uncompressedSize == -1)
121 {
122 num2 = _output.CopyTo(bytes);
123 }
125 {
126 bytes = bytes.Slice(0, (int)Math.Min(bytes.Length, _uncompressedSize - _currentInflatedCount));
127 num2 = _output.CopyTo(bytes);
128 _currentInflatedCount += num2;
129 }
130 else
131 {
132 _state = InflaterState.Done;
134 }
135 if (num2 > 0)
136 {
137 bytes = bytes.Slice(num2, bytes.Length - num2);
138 num += num2;
139 }
140 }
141 while (!bytes.IsEmpty && !Finished() && Decode());
142 return num;
143 }
int CopyTo(Span< byte > output)

References System.IO.Compression.InflaterManaged._currentInflatedCount, System.IO.Compression.InflaterManaged._output, System.IO.Compression.InflaterManaged._state, System.IO.Compression.InflaterManaged._uncompressedSize, System.bytes, System.IO.Compression.OutputWindow.ClearBytesUsed(), System.IO.Compression.OutputWindow.CopyTo(), System.IO.Compression.InflaterManaged.Decode(), System.IO.Compression.InflaterManaged.Finished(), and System.Math.Min().

Referenced by System.IO.Compression.DeflateManagedStream.Read(), System.IO.Compression.DeflateManagedStream.ReadAsyncCore(), and System.IO.Compression.DeflateManagedStream.ReadAsyncInternal().