Merge branch 'benaadams/take' into dev

This commit is contained in:
Cesar Blum Silveira 2015-12-29 11:46:24 -08:00
commit acc80bcbc5
1 changed files with 18 additions and 14 deletions

View File

@ -59,26 +59,23 @@ namespace Microsoft.AspNet.Server.Kestrel.Infrastructure
public int Take() public int Take()
{ {
if (_block == null) var block = _block;
if (block == null)
{ {
return -1; return -1;
} }
else if (_index < _block.End)
var index = _index;
if (index < block.End)
{ {
return _block.Array[_index++]; _index = index + 1;
return block.Array[index];
} }
var block = _block; do
var index = _index;
while (true)
{ {
if (index < block.End) if (block.Next == null)
{
_block = block;
_index = index + 1;
return block.Array[index];
}
else if (block.Next == null)
{ {
return -1; return -1;
} }
@ -87,7 +84,14 @@ namespace Microsoft.AspNet.Server.Kestrel.Infrastructure
block = block.Next; block = block.Next;
index = block.Start; index = block.Start;
} }
}
if (index < block.End)
{
_block = block;
_index = index + 1;
return block.Array[index];
}
} while (true);
} }
public int Peek() public int Peek()