Skip to content
This repository was archived by the owner on Dec 18, 2018. It is now read-only.

Commit e9f1a8b

Browse files
committed
use local vars
1 parent 0fa105d commit e9f1a8b

File tree

1 file changed

+20
-11
lines changed
  • src/Microsoft.AspNet.Server.Kestrel/Http

1 file changed

+20
-11
lines changed

src/Microsoft.AspNet.Server.Kestrel/Http/Frame.cs

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -561,44 +561,53 @@ private async Task ProduceEnd()
561561

562562
private static void OutputAsciiBlock(string data, MemoryPoolBlock2 memoryBlock, ISocketOutput output)
563563
{
564-
var end = memoryBlock.Start + memoryBlock.Data.Count;
564+
var start = memoryBlock.Start;
565+
var end = start + memoryBlock.Data.Count;
566+
var array = memoryBlock.Array;
567+
var current = memoryBlock.End;
565568

566569
foreach (var chr in data)
567570
{
568-
memoryBlock.Array[memoryBlock.End] = (byte)chr;
571+
array[current] = (byte)chr;
569572

570-
memoryBlock.End++;
573+
current++;
571574

572-
if (memoryBlock.End == end)
575+
if (current == end)
573576
{
574577
output.Write(memoryBlock.Data, immediate: false);
575-
memoryBlock.End = memoryBlock.Start;
578+
current = start;
576579
}
577580
}
581+
memoryBlock.End = current;
578582
}
579583

580584
private static void OutputAsciiBlock(byte[] data, MemoryPoolBlock2 memoryBlock, ISocketOutput output)
581585
{
582586
var offset = 0;
583587
var remaining = data.Length;
584-
var end = memoryBlock.Start + memoryBlock.Data.Count;
588+
589+
var start = memoryBlock.Start;
590+
var end = start + memoryBlock.Data.Count;
591+
var array = memoryBlock.Array;
592+
var current = memoryBlock.End;
585593

586594
while (remaining > 0)
587595
{
588-
var blockRemaining = end - memoryBlock.End;
596+
var blockRemaining = end - current;
589597
var copyAmount = blockRemaining >= remaining ? remaining : blockRemaining;
590-
Buffer.BlockCopy(data, offset, memoryBlock.Array, memoryBlock.End, copyAmount);
598+
Buffer.BlockCopy(data, offset, array, current, copyAmount);
591599

592-
memoryBlock.End += copyAmount;
600+
current += copyAmount;
593601
remaining -= copyAmount;
594602
offset += copyAmount;
595603

596-
if (memoryBlock.End == end)
604+
if (current == end)
597605
{
598606
output.Write(memoryBlock.Data, immediate: false);
599-
memoryBlock.End = memoryBlock.Start;
607+
current = start;
600608
}
601609
}
610+
memoryBlock.End = current;
602611
}
603612

604613
private Task CreateResponseHeader(

0 commit comments

Comments
 (0)