Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ CopyTo()

void System.Net.Http.Http2Connection.Http2Stream.CopyTo ( HttpResponseMessage responseMessage,
Stream destination,
int bufferSize )
inline

Definition at line 1244 of file Http2Connection.cs.

1245 {
1246 byte[] array = ArrayPool<byte>.Shared.Rent(bufferSize);
1247 try
1248 {
1249 while (true)
1250 {
1251 int num;
1252 bool flag;
1253 (flag, num) = TryReadFromBuffer(array, partOfSyncRead: true);
1254 if (flag)
1255 {
1256 WaitForData();
1257 (flag, num) = TryReadFromBuffer(array, partOfSyncRead: true);
1258 }
1259 if (num == 0)
1260 {
1261 break;
1262 }
1263 _windowManager.AdjustWindow(num, this);
1264 destination.Write(new ReadOnlySpan<byte>(array, 0, num));
1265 }
1267 }
1268 finally
1269 {
1270 ArrayPool<byte>.Shared.Return(array);
1271 }
1272 }
void MoveTrailersToResponseMessage(HttpResponseMessage responseMessage)
bool int bytesRead TryReadFromBuffer(Span< byte > buffer, bool partOfSyncRead=false)
void AdjustWindow(int bytesConsumed, Http2Stream stream)

References System.Net.Http.Http2Connection.Http2Stream._windowManager, System.Net.Http.Http2Connection.Http2StreamWindowManager.AdjustWindow(), System.array, System.destination, System.Net.Http.Http2Connection.Http2Stream.MoveTrailersToResponseMessage(), System.Net.Http.Http2Connection.Http2Stream.TryReadFromBuffer(), and System.Net.Http.Http2Connection.Http2Stream.WaitForData().