private void ProcessBuffer()
{
if (!Reading)
{
return;
}
if (_processingBuffer)
{
// Increment the number of times we should process messages
_processingQueue++;
return;
}
_processingBuffer = true;
int total = Math.Max(1, _processingQueue);
for (int i = 0; i < total; i++)
{
if (!Reading)
{
return;
}
ProcessChunks();
}
if (_processingQueue > 0)
{
_processingQueue -= total;
}
_processingBuffer = false;
}