private void FlushBuffers()
{
// Make sure to only "flush" when we actually had some input:
if (_wroteBytes)
{
// Compress any bytes left:
WriteDeflaterOutput();
// Pull out any bytes left inside deflater:
bool flushSuccessful;
do
{
int compressedBytes;
flushSuccessful = _deflater.Flush(_buffer, out compressedBytes);
if (flushSuccessful)
{
_stream.Write(_buffer, 0, compressedBytes);
}
Debug.Assert(flushSuccessful == (compressedBytes > 0));
} while (flushSuccessful);
}
}