4 writes to _dataChunks
Microsoft.AspNetCore.Server.HttpSys (4)
RequestProcessing\ResponseStreamAsyncResult.cs (4)
47
_dataChunks
= null;
53
_dataChunks
= new HTTP_DATA_CHUNK[1 + (chunked ? 2 : 0)];
107
_dataChunks
= null;
113
_dataChunks
= new HTTP_DATA_CHUNK[chunked ? 3 : 1];
29 references to _dataChunks
Microsoft.AspNetCore.Server.HttpSys (29)
RequestProcessing\ResponseStreamAsyncResult.cs (29)
54
objectsToPin = new object[
_dataChunks
.Length + 1];
55
objectsToPin[0] =
_dataChunks
;
63
SetDataChunk(
_dataChunks
, ref currentChunk, objectsToPin, ref currentPin, chunkHeaderBuffer);
66
SetDataChunk(
_dataChunks
, ref currentChunk, objectsToPin, ref currentPin, data);
70
SetDataChunkWithPinnedData(
_dataChunks
, ref currentChunk, Helpers.CRLF);
80
_dataChunks
[currentChunk].Anonymous.FromMemory.pBuffer = (void*)Marshal.UnsafeAddrOfPinnedArrayElement(chunkHeaderBuffer.Array!, chunkHeaderBuffer.Offset);
84
_dataChunks
[currentChunk].Anonymous.FromMemory.pBuffer = (void*)Marshal.UnsafeAddrOfPinnedArrayElement(data.Array!, data.Offset);
94
Debug.Assert(currentChunk ==
_dataChunks
.Length);
115
object[] objectsToPin = new object[
_dataChunks
.Length];
116
objectsToPin[
_dataChunks
.Length - 1] =
_dataChunks
;
122
_dataChunks
[0].DataChunkType = HTTP_DATA_CHUNK_TYPE.HttpDataChunkFromMemory;
123
_dataChunks
[0].Anonymous.FromMemory.BufferLength = (uint)chunkHeaderBuffer.Count;
126
_dataChunks
[1].DataChunkType = HTTP_DATA_CHUNK_TYPE.HttpDataChunkFromFileHandle;
127
_dataChunks
[1].Anonymous.FromFileHandle.ByteRange.StartingOffset = (ulong)offset;
128
_dataChunks
[1].Anonymous.FromFileHandle.ByteRange.Length = (ulong)count;
129
_dataChunks
[1].Anonymous.FromFileHandle.FileHandle = (HANDLE)_fileStream.SafeFileHandle.DangerousGetHandle();
134
SetDataChunkWithPinnedData(
_dataChunks
, ref currentChunk, Helpers.CRLF);
135
Debug.Assert(currentChunk ==
_dataChunks
.Length);
139
_dataChunks
[0].DataChunkType = HTTP_DATA_CHUNK_TYPE.HttpDataChunkFromFileHandle;
140
_dataChunks
[0].Anonymous.FromFileHandle.ByteRange.StartingOffset = (ulong)offset;
141
_dataChunks
[0].Anonymous.FromFileHandle.ByteRange.Length = (ulong)count;
142
_dataChunks
[0].Anonymous.FromFileHandle.FileHandle = (HANDLE)_fileStream.SafeFileHandle.DangerousGetHandle();
152
_dataChunks
[0].Anonymous.FromMemory.pBuffer = (void*)Marshal.UnsafeAddrOfPinnedArrayElement(chunkHeaderBuffer.Array!, chunkHeaderBuffer.Offset);
198
if (
_dataChunks
== null)
204
return (ushort)
_dataChunks
.Length;
213
if (
_dataChunks
== null)
219
return (HTTP_DATA_CHUNK*)(Marshal.UnsafeAddrOfPinnedArrayElement(
_dataChunks
, 0));
257
if (asyncResult.
_dataChunks
== null)