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

◆ OnHeadersComplete()

void System.Net.Http.Http2Connection.Http2Stream.OnHeadersComplete ( bool endStream)
inline

Definition at line 952 of file Http2Connection.cs.

953 {
954 bool hasWaiter;
956 {
958 {
959 case ResponseProtocolState.Aborted:
960 return;
961 case ResponseProtocolState.ExpectingHeaders:
962 _responseProtocolState = (endStream ? ResponseProtocolState.Complete : ResponseProtocolState.ExpectingData);
963 break;
964 case ResponseProtocolState.ExpectingTrailingHeaders:
965 if (!endStream)
966 {
967 if (System.Net.NetEventSource.Log.IsEnabled())
968 {
969 Trace("Trailing headers received without endStream", "OnHeadersComplete");
970 }
972 }
973 _responseProtocolState = ResponseProtocolState.Complete;
974 break;
975 case ResponseProtocolState.ExpectingIgnoredHeaders:
976 if (endStream)
977 {
979 }
980 _responseProtocolState = ResponseProtocolState.ExpectingStatus;
981 return;
982 default:
984 break;
985 }
986 if (endStream)
987 {
988 _responseCompletionState = StreamCompletionState.Completed;
989 if (_requestCompletionState == StreamCompletionState.Completed)
990 {
991 Complete();
992 }
993 }
994 if (_responseProtocolState == ResponseProtocolState.ExpectingData)
995 {
997 }
999 _hasWaiter = false;
1000 }
1001 if (hasWaiter)
1002 {
1003 _waitSource.SetResult(result: true);
1004 }
1005 }
ManualResetValueTaskSourceCore< bool > _waitSource
void Trace(string message, [CallerMemberName] string memberName=null)
static readonly System.Net.NetEventSource Log

References System.Net.Http.Http2Connection.Http2Stream._hasWaiter, System.Net.Http.Http2Connection.Http2Stream._requestCompletionState, 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.Net.Http.Http2Connection.Http2Stream.Complete(), System.Net.NetEventSource.Log, System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore< TResult >.SetResult(), System.Net.Http.Http2Connection.Http2StreamWindowManager.Start(), System.Net.Http.Http2Connection.Http2Stream.SyncObject, System.Net.Http.Http2Connection.ThrowProtocolError(), and System.Net.Http.Http2Connection.Http2Stream.Trace().