nghttp2_session.cstream->queued == 0stream->queued == 1stream->closed_next == NULLstream->closed_prev == NULLdep_streamhead_streamheadHEADERS: stream closedHEADERS: stream_id == 0PUSH_PROMISE: stream_id == 0PUSH_PROMISE: push disabledPUSH_PROMISE: stream in idlePUSH_PROMISE: stream closedPING: stream_id != 0GOAWAY: stream_id != 0WINDOW_UPDATE to idle streamPRIORITY: stream_id == 0depend on itselfRST_STREAM: stream_id == 0RST_STREAM: stream in idlenghttp2_is_fatal(rv)SETTINGS: stream_id != 0SETTINGS: unexpected ACKstream->item == itembuf->pos == buf->lastDATA: stream_id == 0DATA: stream in idleDATA: stream closedDATA: stream not openedDATA: stream in reservedinlen == 0SETTINGS expectedtoo large frame sizeCONTINUATION: unexpectedHEADERS: invalid paddingPUSH_PROMISE: invalid padding!session->serverDATA: invalid paddingi < iframe->nivproclen == readlenstream->flags & NGHTTP2_STREAM_FLAG_NO_RFC7540_PRIORITIESurgency < NGHTTP2_EXTPRI_URGENCY_LEVELSstream->state == NGHTTP2_STREAM_IDLE(stream->flags & NGHTTP2_STREAM_FLAG_NO_RFC7540_PRIORITIES) || nghttp2_stream_in_dep_tree(stream)!(stream->flags & NGHTTP2_STREAM_FLAG_NO_RFC7540_PRIORITIES)(!session->server && session->pending_no_rfc7540_priorities != 1) || (session->server && !session_no_rfc7540_pri_no_fallback(session))pri_spec->stream_id != stream->stream_idheaders_frame->hd.type == NGHTTP2_HEADERSrequest HEADERS: stream_id == 0request HEADERS: client received requestrequest HEADERS: invalid stream_idrequest HEADERS: max concurrent streams exceededrequest HEADERS: depend on itselfstream->state == NGHTTP2_STREAM_OPENING && nghttp2_session_is_my_stream_id(session, frame->hd.stream_id)stream->state == NGHTTP2_STREAM_RESERVEDpush response HEADERS: stream_id == 0HEADERS: no HEADERS allowed from client in reserved statepush response HEADERS: max concurrent streams exceededPUSH_PROMISE: invalid stream_idPUSH_PROMISE: invalid promised_stream_idGOAWAY: invalid last_stream_idWINDOW_UPDATE: window_size_increment == 0WINDOW_UPADATE to reserved streamPRIORITY_UPDATE: stream_id == 0PRIORITY_UPDATE: prioritizing idle push is not allowedPRIORITY_UPDATE: max concurrent streams exceeded!session_no_rfc7540_pri_no_fallback(session)SETTINGS: ACK and payload != 0SETTINGS: invalid SETTINGS_ENBLE_PUSHSETTINGS: server attempted to enable pushSETTINGS: too large SETTINGS_INITIAL_WINDOW_SIZESETTINGS: invalid SETTINGS_MAX_FRAME_SIZESETTINGS: invalid SETTINGS_ENABLE_CONNECT_PROTOCOLSETTINGS: server attempted to disable SETTINGS_ENABLE_CONNECT_PROTOCOLSETTINGS: invalid SETTINGS_NO_RFC7540_PRIORITIESSETTINGS: SETTINGS_NO_RFC7540_PRIORITIES cannot be changed&session->aob.framebufs == bufsnghttp2_buf_avail(buf) >= datamaxsession->remote_window_size > 0session->last_sent_stream_id < frame->hd.stream_idsession->obq_flood_counter_ > 0session->last_sent_stream_id + 2 <= frame->push_promise.promised_stream_idsession->callbacks.pack_extension_callback2 || session->callbacks.pack_extension_callbackDATA: stream in half-closed(remote)Remote peer returned unexpected data while we expected SETTINGS frame. Perhaps, peer does not support HTTP/2 properly.DATA: insufficient padding spaceHEADERS: insufficient padding spaceSETTINGS: too many setting entriesPUSH_PROMISE: insufficient padding spacePRIORITY_UPDATE is received from serverInvalid HTTP header field was received: frame type: %u, stream: %d, name: [%.*s], value: [%.*s]Ignoring received invalid HTTP header field: frame type: %u, stream: %d, name: [%.*s], value: [%.*s]iframe->state == NGHTTP2_IB_IGN_ALLnghttp2_buf_avail(&iframe->lbuf) > 0unexpected non-CONTINUATION frame or stream_id is invalidnghttp2_submit.cdata_prd(size_t)(p - (uint8_t *)ov_copy) == nov * sizeof(nghttp2_origin_entry) + len + novnghttp2_submit_data2nghttp2_submit_datanghttp2_submit_originnghttp2_helper.cdelta >= 0SuccessInvalid argumentOut of buffer spaceUnsupported SPDY versionOperation would blockProtocol errorInvalid frame octetsEOFData transfer deferredNo more Stream ID availableStream is closingStream ID is invalidInvalid stream stateGOAWAY has already been sentInvalid header blockInvalid stateFlow control errorToo many inflight SETTINGSStream was refusedInternal errorCancelOut of memoryUnknown error codeNO_ERRORPROTOCOL_ERRORINTERNAL_ERRORFLOW_CONTROL_ERRORSETTINGS_TIMEOUTSTREAM_CLOSEDFRAME_SIZE_ERRORREFUSED_STREAMCANCELCOMPRESSION_ERRORCONNECT_ERRORENHANCE_YOUR_CALMINADEQUATE_SECURITYHTTP_1_1_REQUIREDunknownStream was already closed or invalidThe transmission is not allowed for this streamAnother DATA frame has already been deferredrequest HEADERS is not allowedThe user callback function failed due to the temporal errorThe length of the frame is invalidHeader compression/decompression errorInsufficient buffer size given to functionCallback was paused by the applicationServer push is disabled by peerDATA or HEADERS frame has already been submitted for the streamThe current session is closingInvalid HTTP header field was receivedViolation in HTTP messaging ruleWhen a local endpoint expects to receive SETTINGS frame, it receives an other type of frameThe user callback function failedReceived bad client magic byte stringFlooding was detected in this HTTP/2 session, and it must be closedSETTINGS frame contained more than the maximum allowed entriesToo many CONTINUATION frames following a HEADER frame���`��������������������������� ���0���@���P���nghttp2_increase_local_window_size