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

◆ OnResponseData()

void System.Net.Http.Http2Connection.Http2Stream.OnResponseData ( ReadOnlySpan< byte > buffer,
bool endStream )
inline

Definition at line 1007 of file Http2Connection.cs.

1008 {
1009 bool hasWaiter;
1011 {
1012 switch (_responseProtocolState)
1013 {
1014 case ResponseProtocolState.Aborted:
1015 return;
1016 default:
1018 break;
1019 case ResponseProtocolState.ExpectingData:
1020 break;
1021 }
1022 if (_responseBuffer.ActiveMemory.Length + buffer.Length > _windowManager.StreamWindowSize)
1023 {
1025 }
1026 _responseBuffer.EnsureAvailableSpace(buffer.Length);
1027 _responseBuffer.AvailableMemory.CopyFrom(buffer);
1028 _responseBuffer.Commit(buffer.Length);
1029 if (endStream)
1030 {
1031 _responseProtocolState = ResponseProtocolState.Complete;
1032 _responseCompletionState = StreamCompletionState.Completed;
1033 if (_requestCompletionState == StreamCompletionState.Completed)
1034 {
1035 Complete();
1036 }
1037 }
1039 _hasWaiter = false;
1040 }
1041 if (hasWaiter)
1042 {
1043 _waitSource.SetResult(result: true);
1044 }
1045 }
System.Net.MultiArrayBuffer _responseBuffer
ManualResetValueTaskSourceCore< bool > _waitSource

References System.Net.Http.Http2Connection.Http2Stream._hasWaiter, System.Net.Http.Http2Connection.Http2Stream._requestCompletionState, System.Net.Http.Http2Connection.Http2Stream._responseBuffer, System.Net.Http.Http2Connection.Http2Stream._responseCompletionState, System.Net.Http.Http2Connection.Http2Stream._responseProtocolState, System.Net.Http.Http2Connection.Http2Stream._waitSource, System.Net.Http.Http2Connection.Http2Stream._windowManager, System.buffer, System.Net.Http.Http2Connection.Http2Stream.Complete(), System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore< TResult >.SetResult(), System.Net.Http.Http2Connection.Http2StreamWindowManager.StreamWindowSize, System.Net.Http.Http2Connection.Http2Stream.SyncObject, and System.Net.Http.Http2Connection.ThrowProtocolError().