diff --git a/_sources/tutorial-server.txt b/_sources/tutorial-server.txt index 723c9b6e..69a5b3ab 100644 --- a/_sources/tutorial-server.txt +++ b/_sources/tutorial-server.txt @@ -173,7 +173,7 @@ underlying network socket:: return; } if(events & BEV_EVENT_EOF) { - fprintf(stderr, "%s disconnected\n", session_data->client_addr); + fprintf(stderr, "%s EOF\n", session_data->client_addr); } else if(events & BEV_EVENT_ERROR) { fprintf(stderr, "%s network error\n", session_data->client_addr); } else if(events & BEV_EVENT_TIMEOUT) { diff --git a/objects.inv b/objects.inv index dd6368e4..bcf9ff95 100644 Binary files a/objects.inv and b/objects.inv differ diff --git a/searchindex.js b/searchindex.js index 038c91f1..2ee14297 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({objects:{"":{NGHTTP2_ERR_INVALID_STATE:[3,1,1,""],NGHTTP2_ERR_HEADER_COMP:[3,1,1,""],NGHTTP2_SETTINGS_HEADER_TABLE_SIZE:[3,1,1,""],nghttp2_settings_entry:[3,2,1,""],NGHTTP2_INTERNAL_ERROR:[3,1,1,""],NGHTTP2_PRI_LOWEST:[3,1,1,""],nghttp2_on_frame_recv_callback:[3,2,1,""],NGHTTP2_CLIENT_CONNECTION_HEADER_LEN:[3,1,1,""],nghttp2_goaway:[3,2,1,""],nghttp2_ping:[3,2,1,""],NGHTTP2_ERR_INVALID_FRAME:[3,1,1,""],nghttp2_frame_type:[3,2,1,""],nghttp2_on_data_recv_callback:[3,2,1,""],nghttp2_select_next_protocol:[3,3,1,""],NGHTTP2_ERR_INVALID_HEADER_BLOCK:[3,1,1,""],nghttp2_session_callbacks:[3,2,1,""],NGHTTP2_ERR_TOO_MANY_INFLIGHT_SETTINGS:[3,1,1,""],NGHTTP2_ERR_PROTO:[3,1,1,""],NGHTTP2_MAX_HEADER_TABLE_SIZE:[3,1,1,""],nghttp2_submit_window_update:[3,3,1,""],NGHTTP2_ERR_UNSUPPORTED_VERSION:[3,1,1,""],NGHTTP2_SETTINGS_ENABLE_PUSH:[3,1,1,""],nghttp2_window_update:[3,2,1,""],nghttp2_session_client_new2:[3,3,1,""],NGHTTP2_DATA:[3,1,1,""],nghttp2_frame_hd:[3,2,1,""],NGHTTP2_ERR_INVALID_STREAM_STATE:[3,1,1,""],nghttp2_on_header_callback:[3,2,1,""],NGHTTP2_FLAG_ACK:[3,1,1,""],NGHTTP2_STREAM_CLOSED:[3,1,1,""],NGHTTP2_SETTINGS_MAX:[3,1,1,""],NGHTTP2_MAX_WINDOW_SIZE:[3,1,1,""],nghttp2_headers_category:[3,2,1,""],nghttp2_error_code:[3,2,1,""],NGHTTP2_REFUSED_STREAM:[3,1,1,""],nghttp2_on_data_chunk_recv_callback:[3,2,1,""],NGHTTP2_ERR_START_STREAM_NOT_ALLOWED:[3,1,1,""],NGHTTP2_ERR_FLOW_CONTROL:[3,1,1,""],nghttp2_strerror:[3,3,1,""],nghttp2_gzip_inflate_del:[3,3,1,""],NGHTTP2_ERR_FATAL:[3,1,1,""],nghttp2_submit_goaway:[3,3,1,""],nghttp2_error:[3,2,1,""],NGHTTP2_INITIAL_CONNECTION_WINDOW_SIZE:[3,1,1,""],NGHTTP2_ERR_NOMEM:[3,1,1,""],NGHTTP2_ERR_PAUSE:[3,1,1,""],NGHTTP2_ENHANCE_YOUR_CALM:[3,1,1,""],NGHTTP2_ERR_PUSH_DISABLED:[3,1,1,""],NGHTTP2_NO_ERROR:[3,1,1,""],NGHTTP2_OPT_PEER_MAX_CONCURRENT_STREAMS:[3,1,1,""],nghttp2_session_server_new2:[3,3,1,""],NGHTTP2_ERR_DEFERRED:[3,1,1,""],nghttp2_push_promise:[3,2,1,""],NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE:[3,1,1,""],nghttp2_session_get_outbound_queue_size:[3,3,1,""],nghttp2_rst_stream:[3,2,1,""],NGHTTP2_PROTO_VERSION_ID_LEN:[3,1,1,""],NGHTTP2_INITIAL_MAX_CONCURRENT_STREAMS:[3,1,1,""],nghttp2_data_source_read_callback:[3,2,1,""],NGHTTP2_SETTINGS_TIMEOUT:[3,1,1,""],nghttp2_on_end_headers_callback:[3,2,1,""],NGHTTP2_ERR_WOULDBLOCK:[3,1,1,""],nghttp2_session_resume_data:[3,3,1,""],NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE:[3,1,1,""],NGHTTP2_PRI_DEFAULT:[3,1,1,""],nghttp2_session_server_new:[3,3,1,""],NGHTTP2_FLAG_END_PUSH_PROMISE:[3,1,1,""],NGHTTP2_ERR_INVALID_ARGUMENT:[3,1,1,""],NGHTTP2_ERR_FRAME_SIZE_ERROR:[3,1,1,""],NGHTTP2_ERR_GOAWAY_ALREADY_SENT:[3,1,1,""],NGHTTP2_HEADERS:[3,1,1,""],nghttp2_flag:[3,2,1,""],NGHTTP2_OPT_NO_AUTO_STREAM_WINDOW_UPDATE:[3,1,1,""],NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS:[3,1,1,""],NGHTTP2_HCAT_REQUEST:[3,1,1,""],NGHTTP2_FLAG_END_HEADERS:[3,1,1,""],nghttp2_gzip:[3,2,1,""],NGHTTP2_RST_STREAM:[3,1,1,""],NGHTTP2_ERR_EOF:[3,1,1,""],NGHTTP2_HCAT_HEADERS:[3,1,1,""],NGHTTP2_VERSION_NUM:[3,1,1,""],NGHTTP2_SETTINGS:[3,1,1,""],nghttp2_frame:[3,2,1,""],nghttp2_submit_push_promise:[3,3,1,""],NGHTTP2_ERR_DEFERRED_DATA_EXIST:[3,1,1,""],NGHTTP2_CANCEL:[3,1,1,""],nghttp2_send_callback:[3,2,1,""],NGHTTP2_ERR_INVALID_STREAM_ID:[3,1,1,""],nghttp2_on_frame_send_callback:[3,2,1,""],nghttp2_session_mem_recv:[3,3,1,""],NGHTTP2_VERSION:[3,1,1,""],nghttp2_opt_set:[3,2,1,""],nghttp2_session:[3,2,1,""],NGHTTP2_COMPRESSION_ERROR:[3,1,1,""],NGHTTP2_HCAT_PUSH_RESPONSE:[3,1,1,""],nghttp2_submit_rst_stream:[3,3,1,""],nghttp2_submit_headers:[3,3,1,""],nghttp2_recv_callback:[3,2,1,""],nghttp2_session_get_stream_user_data:[3,3,1,""],NGHTTP2_FLAG_PRIORITY:[3,1,1,""],nghttp2_on_data_send_callback:[3,2,1,""],nghttp2_nv:[3,2,1,""],nghttp2_on_invalid_frame_recv_callback:[3,2,1,""],nghttp2_version:[3,3,1,""],nghttp2_on_unknown_frame_recv_callback:[3,2,1,""],NGHTTP2_ERR_STREAM_CLOSED:[3,1,1,""],nghttp2_opt:[3,2,1,""],NGHTTP2_ERR_CALLBACK_FAILURE:[3,1,1,""],NGHTTP2_FLOW_CONTROL_ERROR:[3,1,1,""],nghttp2_session_set_stream_user_data:[3,3,1,""],NGHTTP2_ERR_STREAM_CLOSING:[3,1,1,""],nghttp2_session_client_new:[3,3,1,""],nghttp2_info:[3,2,1,""],NGHTTP2_PROTO_VERSION_ID:[3,1,1,""],nghttp2_settings_id:[3,2,1,""],nghttp2_session_send:[3,3,1,""],NGHTTP2_PROTOCOL_ERROR:[3,1,1,""],nghttp2_gzip_inflate:[3,3,1,""],nghttp2_session_upgrade:[3,3,1,""],nghttp2_session_del:[3,3,1,""],NGHTTP2_ERR_INSUFF_BUFSIZE:[3,1,1,""],nghttp2_settings:[3,2,1,""],nghttp2_on_frame_not_send_callback:[3,2,1,""],nghttp2_session_get_effective_recv_data_length:[3,3,1,""],nghttp2_submit_data:[3,3,1,""],nghttp2_submit_response:[3,3,1,""],NGHTTP2_CLIENT_CONNECTION_HEADER:[3,1,1,""],NGHTTP2_FLAG_NONE:[3,1,1,""],nghttp2_session_terminate_session:[3,3,1,""],nghttp2_on_frame_recv_parse_error_callback:[3,2,1,""],nghttp2_submit_settings:[3,3,1,""],NGHTTP2_HCAT_RESPONSE:[3,1,1,""],NGHTTP2_PING:[3,1,1,""],NGHTTP2_OPT_NO_AUTO_CONNECTION_WINDOW_UPDATE:[3,1,1,""],nghttp2_priority:[3,2,1,""],nghttp2_session_want_read:[3,3,1,""],NGHTTP2_VERSION_AGE:[3,1,1,""],NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE:[3,1,1,""],NGHTTP2_CONNECT_ERROR:[3,1,1,""],NGHTTP2_FLAG_END_STREAM:[3,1,1,""],nghttp2_on_stream_close_callback:[3,2,1,""],NGHTTP2_PUSH_PROMISE:[3,1,1,""],nghttp2_data_provider:[3,2,1,""],nghttp2_on_request_recv_callback:[3,2,1,""],nghttp2_session_recv:[3,3,1,""],nghttp2_session_get_effective_local_window_size:[3,3,1,""],NGHTTP2_INITIAL_WINDOW_SIZE:[3,1,1,""],NGHTTP2_WINDOW_UPDATE:[3,1,1,""],NGHTTP2_SETTINGS_FLOW_CONTROL_OPTIONS:[3,1,1,""],nghttp2_session_want_write:[3,3,1,""],nghttp2_submit_priority:[3,3,1,""],nghttp2_session_get_stream_effective_local_window_size:[3,3,1,""],nghttp2_headers:[3,2,1,""],nghttp2_before_frame_send_callback:[3,2,1,""],NGHTTP2_GOAWAY:[3,1,1,""],NGHTTP2_ERR_GZIP:[3,1,1,""],nghttp2_submit_ping:[3,3,1,""],NGHTTP2_FRAME_SIZE_ERROR:[3,1,1,""],nghttp2_data_source:[3,2,1,""],NGHTTP2_ERR_STREAM_SHUT_WR:[3,1,1,""],NGHTTP2_PRIORITY:[3,1,1,""],nghttp2_submit_request:[3,3,1,""],nghttp2_session_get_stream_effective_recv_data_length:[3,3,1,""],nghttp2_pack_settings_payload:[3,3,1,""],nghttp2_gzip_inflate_new:[3,3,1,""],nghttp2_nv_compare_name:[3,3,1,""]},nghttp2_session_callbacks:{on_invalid_frame_recv_callback:[3,0,1,""],before_frame_send_callback:[3,0,1,""],on_stream_close_callback:[3,0,1,""],on_data_chunk_recv_callback:[3,0,1,""],on_unknown_frame_recv_callback:[3,0,1,""],send_callback:[3,0,1,""],nghttp2_on_frame_recv_parse_error_callback:[3,0,1,""],on_frame_send_callback:[3,0,1,""],on_end_headers_callback:[3,0,1,""],on_frame_recv_callback:[3,0,1,""],on_data_send_callback:[3,0,1,""],on_header_callback:[3,0,1,""],on_frame_not_send_callback:[3,0,1,""],on_request_recv_callback:[3,0,1,""],on_data_recv_callback:[3,0,1,""],recv_callback:[3,0,1,""]},nghttp2_frame:{push_promise:[3,0,1,""],settings:[3,0,1,""],ping:[3,0,1,""],rst_stream:[3,0,1,""],priority:[3,0,1,""],headers:[3,0,1,""],goaway:[3,0,1,""],window_update:[3,0,1,""],hd:[3,0,1,""]},nghttp2_ping:{hd:[3,0,1,""]},nghttp2_data_provider:{source:[3,0,1,""],read_callback:[3,0,1,""]},nghttp2_priority:{pri:[3,0,1,""],hd:[3,0,1,""]},nghttp2_settings_entry:{settings_id:[3,0,1,""],value:[3,0,1,""]},nghttp2_window_update:{hd:[3,0,1,""],window_size_increment:[3,0,1,""]},nghttp2_frame_hd:{stream_id:[3,0,1,""],length:[3,0,1,""],flags:[3,0,1,""],type:[3,0,1,""]},nghttp2_info:{age:[3,0,1,""],version_str:[3,0,1,""],version_num:[3,0,1,""],proto_str:[3,0,1,""]},nghttp2_rst_stream:{error_code:[3,0,1,""],hd:[3,0,1,""]},nghttp2_nv:{valuelen:[3,0,1,""],namelen:[3,0,1,""],name:[3,0,1,""],value:[3,0,1,""]},nghttp2_headers:{nvlen:[3,0,1,""],pri:[3,0,1,""],hd:[3,0,1,""],nva:[3,0,1,""],cat:[3,0,1,""]},nghttp2_opt_set:{no_auto_stream_window_update:[3,0,1,""],peer_max_concurrent_streams:[3,0,1,""],no_auto_connection_window_update:[3,0,1,""]},nghttp2_goaway:{opaque_data:[3,0,1,""],error_code:[3,0,1,""],opaque_data_len:[3,0,1,""],hd:[3,0,1,""],last_stream_id:[3,0,1,""]},nghttp2_data_source:{fd:[3,0,1,""],ptr:[3,0,1,""]},nghttp2_push_promise:{promised_stream_id:[3,0,1,""],nvlen:[3,0,1,""],nva:[3,0,1,""],hd:[3,0,1,""]},nghttp2_settings:{niv:[3,0,1,""],hd:[3,0,1,""],iv:[3,0,1,""]}},terms:{my_obj:[3,6],nghttp2_io_flag:6,nghttp2_cancel:[3,6],opt_set:[3,6],prefix:[2,6,3],nghttp2_session_get_stream_effective_local_window_s:[3,6],"const":[2,6,5,3],nghttp2_submit_:[2,5],under:[3,6,4],bufferevent_getfd:5,spec:[3,6],merchant:[2,6,5,1],digit:5,"void":[2,6,5,3],bufferevent_ssl:[2,5],initialize_nghttp2_setup:[2,5],verif:5,servic:2,warnx:[2,5],on_stream_close_callback:[2,6,5,3],direct:4,ssl_op_no_session_resumption_on_renegoti:[2,5],neg:[3,6],nghttp2_err_insuff_bufs:[3,6],"new":[2,6,4,5,3],tatsuhiro:[0,1,2,4,5,6],nghttp2_session_resume_data:[3,6],ipproto_tcp:[2,5],abov:[2,1,3,4,5,6],initialize_app_context:2,here:[2,6,4,5,3],met:[2,6,5,3],path:[2,4,5],settings_timeout:[3,6],interpret:[3,6],nextprotoneg:[3,6],sslv23_server_method:2,permit:[2,6,5,1],nghttp2_submit_prior:[3,6],aka:[3,6,4],nghttp2_err_gzip:[3,6],nghttp2_frame:[2,6,5,3],bufferevent_ssl_connect:5,substr:2,bev_event_error:[2,5],printabl:5,unit:4,describ:[2,6,5,3],would:[3,6],overhead:4,asset:4,nghttp2_on_invalid_frame_recv_callback:[3,6],nghttp2_version:[3,6,1],type:[0,2,3,4,5,6],tell:[2,6,5,3],relat:[2,5],notic:[2,6,5,1],warn:2,ssl_shutdown:[2,5],herebi:[2,6,5,1],unpack:[3,6],must:[2,6,4,5,3],word:[3,6],err:[2,5],exit_failur:[2,5],setup:[2,5],work:[2,4],lev_opt_close_on_fre:2,nghttp2_flag_ack:[3,6],root:[2,4],syn_repli:[3,6],defer:[2,6,5,3],give:[3,6],indic:[2,6,4,5,3],want:[2,6,5,3],unsign:[2,6,5,3],nghttp2_settings_flow_control_opt:[3,6],end:[2,5],datalen:[2,5],how:5,nghttp2_err_fat:[3,6],nghttp2_frame_typ:[3,6],updat:[3,6],nghttp2_msg_more:6,nghttp2_on_request_recv_callback:[3,6],after:[2,6,4,5,3],badli:[3,6],demonstr:5,request_path:2,attempt:[3,6],third:[2,6,5,3],opaqu:[3,6],exclud:[3,6],receiv:[2,6,5,3],first:[2,6,4,5,3],order:[2,6,4,3],frontend:4,over:[2,4,5],becaus:[2,6,5,3],eagain:[2,5],vari:4,fit:[2,6,5,1],fwrite:5,deflate_s:4,hidden:[3,6],them:[2,6,5,3],thei:[2,6,4,5,3],safe:[2,6,3],"break":[2,6,5,3],promis:[3,6],choic:[3,6],ai_addr:2,timeout:[2,5],each:[2,6,4,5,3],debug:[3,6,5],side:[2,6,3],mean:[3,6,4,5],slen:2,protocol_error:[3,6],http2_stream_data:[2,5],nghttp2_session_server_new2:[3,6],network:[2,5],content:[0,4,2],end_stream:[3,6,4],situat:[2,5],free:[2,6,5,1,3],spdy:[3,6,4],openssl:[2,4,5],nghttp2_version_num:[3,6,1],sigact:[2,5],rang:[3,6,4],restrict:[2,6,5,1],nghttp2_protocol_error:[3,6],alreadi:[2,6,5,3],primari:[3,6],nghttp2_max_header_table_s:[3,6],too:[2,6,3],memcmp:2,draft:[0,6,4,3],listen:[2,4],tool:[0,4],travers:2,compressor:4,target:[3,6,4],provid:[2,1,3,4,5,6],project:[0,4],increment:[3,6],nghttp2_session_recv:[3,6],nghttp2_session_get_stream_effective_recv_data_length:[3,6],transmit:[3,6,5],sig_ign:[2,5],shall:[2,6,5,1],object:[2,6,4,5,3],writecb:[2,5],nghttp2_settings_timeout:[3,6],prematur:5,simplic:5,don:[2,6,3],hex_to_uint:2,doc:4,flow:[3,6],doe:[2,6,4,5,3],nghttp2_gzip_inflate_new:[3,6],on_invalid_frame_recv_callback:[3,6],bev_event_eof:[2,5],pkg:4,identifi:[2,6,5,3],bufferevent_setcb:[2,5],explain:5,configur:[3,6,4],apach:4,nghttp2_err_invalid_stream_id:[3,6],busi:[2,5],oct:4,nghttp2_err_proto:[3,6],authoritylen:5,stop:[2,5],end_head:[3,6,4],evbuffer_drain:[2,5],bar:4,ai_pass:2,ietf:[0,4],baz:4,push_promis:[3,6],"public":[0,6,4,3],nghttp2_strerror:[2,6,5,3],nghttp2_gzip_inflate_del:[3,6],bufferevent_ssl_accept:2,nul:[3,6],result:[2,6,5,3],respons:[2,6,4,5,3],corrupt:5,key_fil:2,subject:[2,6,5,1],said:[3,6],figur:4,bev_opt_close_on_fre:[2,5],accord:[3,6],extens:[4,5],advertis:[2,5],setsockopt:[2,5],against:[3,6],ssl_ctx_use_certificate_chain_fil:2,header_t:4,logic:2,browser:4,com:[0,6,4,3],int32_t:[2,6,5,3],assum:[3,6],duplic:[3,6],reciev:5,liabil:[2,6,5,1],evbuffer_get_length:[2,5],union:[0,6,3,2],max_deflate_s:4,been:[2,6,5,3],trigger:[3,6],interest:[2,4,5],basic:4,futur:[3,6],tini:5,life:2,regul:[2,5],argument:[2,6,4,5,3],ewouldblock:[2,5],ssl_op_no_compress:[2,5],nghttp2_settings_initial_window_s:[3,6],zlib:4,bev_event_timeout:[2,5],bufferevent_socket_connect_hostnam:5,nghttp2_set:[3,6],promised_stream_id:[3,6],conf:4,sever:[2,6,4,5,3],perform:[2,6,4,3],make:[2,6,4,3],headlen:[3,6],version_str:[3,6],nghttp2_on_stream_close_callback:[3,6,5],complet:[2,6,5,3],start_listen:2,bufferevent_openssl_get_ssl:[2,5],nghttp2_err_deferred_data_exist:[3,6],ssl_ctx_new:[2,5],zlib1g:4,ownership:[3,6],niv:[3,6,4],thu:[2,6,3],nghttp2_session_get_effective_local_window_s:[3,6],client:[0,2,3,4,5,6],thi:[0,1,2,3,4,5,6],endif:[2,6,1],gzip:[3,6,4],opaque_data:[3,6,4],protocol:[0,2,3,4,5,6],just:[2,6,4,5,3],"0x01":4,initiate_connect:5,ifdef:[2,6],previous:[3,6],easi:4,nghttp2_on_end_head:[],els:[2,5],applic:[2,6,4,5,3],initialize_nghttp2_sess:[2,5],specif:[2,6,5,3],arbitrari:[3,6],http2_session_data:[2,5],client_addr:2,manual:4,html:[0,6,4,3,2],tcp_nodelai:[2,5],unnecessari:5,underli:[2,5],www:[3,6],right:[2,6,5,1],deal:[2,6,5,1,3],on_frame_recv_parse_error_callback:[3,6],successfulli:[2,5],transmiss:[2,6,5,3],ni_numerichost:2,bottom:[3,6],nghttp2_data_source_read_callback:[3,6],buffer:[2,6,4,5,3],condit:[2,6,5,1,3],foo:4,localhost:4,particular:[2,6,5,1,3],sensibl:[3,6],repositori:[2,5],peer:[2,6,5,3],post:[3,6,4],decompressor:4,inlen_ptr:[3,6],nghttp2_submit_data:[3,6],nghttp2_settings_max_concurrent_stream:[2,6,5,3],produc:[3,6],evbuff:[2,5],encod:[2,6,4,3],down:[2,5],nghttp2_before_frame_send_callback:[3,6,5],errx:[2,5],nghttp2_on_end_headers_callback:[2,6,5,3],git:[0,6,4,3],session_send:[2,5],wai:[3,6,4],support:[2,6,4,5,3],verbos:4,call:[2,6,4,5,3],fork:4,head:[2,6,3],form:[3,6],offer:4,bev_event_connect:[2,5],"true":4,hddeflat:4,ssl_ctx_free:[2,5],maximum:[3,6,4],until:[3,6],deafult:4,autoconf:4,emit:[2,6,5,3],nghttp2_initial_window_s:[3,6],featur:4,httpbi:[0,4],"abstract":[2,5],unreleas:4,exist:[3,6,4],ai_flag:2,ends_with:2,check:[2,6,5,3],delete_http2_session_data:[2,5],when:[2,6,4,5,3],role:[2,6,5,3],test:[0,4],send_client_connection_head:5,unlimit:[3,6],intend:2,af_unspec:[2,5],nghttp2_max_window_s:[3,6],technot:[3,6],max_siz:4,evconnlistener_new_bind:2,longer:[2,4],ignor:[2,6,3],time:[2,6,4,3],push:[3,6,4],skip:[3,6],evbuffer_remov:2,nghttp2_on_frame_recv_callback:[3,6,5],nghttp2ver_h:1,decid:[3,6],create_ssl_ctx:[2,5],depend:[2,5],readabl:5,sourc:[0,6,5,3,2],string:[2,6,4,5,3],nghttp2_settings_enable_push:[3,6],level:[2,6,3],did:[3,6,5],item:4,settings_id:[3,6],conhead:2,prevent:[3,6],sign:4,port:[2,4,5],appear:[3,6,4],event_base_fre:[2,5],current:[2,6,4,3],gener:[3,6,4],address:4,nghttp2_submit_rst_stream:[2,6,3],connect_error:[3,6],queue:[2,6,5,3],behav:[3,6],ourselv:[2,5],nghttp2_err_goaway_already_s:[3,6],regardless:[3,6],extra:[4,5],modul:4,prefer:[3,6],instal:4,hdinflat:4,memori:[2,6,4,5,3],strdup:2,prev:2,reorder:[3,6,5],rst_stream:[2,6,5,3],ctype:2,nghttp2_submit_window_upd:[3,6],prepar:[3,6],stream_user_data:[3,6,5],cat:[2,6,5,3],descriptor:[2,6,3],can:[2,6,4,5,3],http2:[0,6,4,3],purpos:[2,6,5,1],uf_path:5,claim:[2,6,5,1],stream:[2,6,4,5,3],agent:4,abort:[3,6],nghttp2_header:[2,6,5,3],occur:[3,6],alwai:[2,6,3],multipl:[2,6,5,3],charset:4,ping:[3,6],write:[2,4,5],opt_set_mask:[3,6],max:5,intrus:2,mai:[2,6,4,5,3],acceptcb:2,data:[2,6,4,5,3],autotool:4,stdin:4,inform:[2,6,4,5,3],"switch":[2,4,5],aaaabaaaagqaaaahaad__w:4,talk:[2,4],nghttp2_err_stream_shut_wr:[3,6],size_t:[2,6,5,3],nghttp2_err_unsupported_vers:[3,6],still:[3,6,4],pointer:[2,6,3],entiti:2,disconnect:[2,5],precondit:[3,6],tort:[2,6,5,1],window:[3,6],main:[2,5],non:[2,6,4,5,3],recal:5,initi:[2,6,5,3],nghttp2_submit_head:[3,6],nghttp2_on_header_callback:[2,6,5,3],name:[2,6,4,5,3],version_num:[3,6],config:4,no_error:4,drop:[2,6,5,3],replac:[3,6],individu:[3,6],continu:[2,6,4,5,3],event_base_loop:[2,5],turoti:5,happen:[2,4,5],ai_addrlen:2,space:[3,6,4],output_length:4,nghttp2_flag_end_push_promis:[3,6],earlier:[2,4,5],event_base_new:[2,5],argv:[2,5],org:[0,6,4,3],"byte":[2,6,4,5,3],argc:[2,5],nghttp2_opt_no_auto_connection_window_upd:[3,6],nghttp2ver:[0,6,1,3],"88448504252dd5918485":4,befor:[2,6,4,5,3],thing:[2,6,5,3],nghttp2_flag_non:[2,6,5,3],place:[3,6],evdns_base_new:5,oper:[3,6,4],directli:[2,6,5,3],onc:[3,6],arrai:[3,6,4,5],yourself:4,nghttp2_flow_control_error:[3,6],submit:[3,6,5],on_frame_recv_callback:[2,6,5,3],open:[2,6,4,3],size:[2,6,4,3],avail:[2,6,4,5,3],given:[3,6],necessarili:[3,6],sigpip:[2,5],internal_error:[3,6],conveni:[3,6],ssl_ctx:[2,6,5,3],copi:[2,6,5,1,3],specifi:[2,6,4,5,3],github:[0,4],holder:[2,6,5,1],than:[2,6,4,3],serv:2,wide:2,nghttp2_session_get_outbound_queue_s:[3,6],were:[2,5],posit:[3,6],read_callback:[2,6,3],enhance_your_calm:[3,6],lowest:[3,6],sai:[3,6],pri:[3,6],ani:[2,1,3,4,5,6],bitwis:[3,6],event_bas:[2,5],nghttp2_flag_prior:[3,6],destroi:[2,5],payloadlen:[3,6],note:[2,4,5],take:[2,6,4,5,3],properti:[2,5],noth:[3,6],begin:5,sure:[2,4,5],normal:[3,6],track:[2,4,5],compress:[0,4],nghttp2_hcat_request:[2,6,5,3],pathlen:5,sublicens:[2,6,5,1],pair:[2,6,4,5,3],http2_select:[3,6],later:[2,6,5,3],gracefulli:5,show:[4,5],unprocess:[2,5],concurr:[2,6,3],permiss:[2,6,5,1],threshold:2,onli:[2,6,4,5,3],state:[2,6,4,3],"4e5535a027780":4,overwritten:[3,6],reset:5,variou:[3,6],get:[2,6,4,5,3],outlen:[3,6,5],ssl:[2,6,4,5,3],cannot:[2,6,3],nghttpd:4,requir:[0,6,4,3],nghttp2_set_stream_user_data:2,multi:4,reserv:[3,6],detect:[3,6,4],"import":4,fcntl:2,pipefd:2,bump:[3,6],evdns_bas:5,typedef:[0,6,5,3,2],submit_request:5,region:[3,6],"0x000300":1,contract:[2,6,5,1],tutori:[0,5,2],deflatehd:4,mani:[3,6],nghttp2_data_provid:[2,6,3],unistd:[2,5],nghttp2_err_too_many_inflight_set:[3,6],cancel:[3,6],damag:[2,6,5,1],nghttp2_on_data_send_callback:[3,6],header_table_s:4,nghttp2_settings_max:[3,6],netdb:2,nghttp2_on_unknown_frame_recv_callback:[3,6],nghttp2_opt:[3,6],those:[2,6,5,3],"case":[2,6,4,5,3],hdr:[2,4,5],invok:[2,6,5,3],invoc:[2,6,3],on_data_chunk_recv_callback:[3,6,5],stdout:[4,5],ascii:[3,6],develop:[0,4],author:[2,6,4,5,1],bev_opt_defer_callback:[2,5],same:[2,6,4,5,3],ssl_library_init:[2,5],binari:5,pac:4,document:[0,1,2,4,5,6],finish:[2,5],decompress:[3,6,4,5],handshake_leftlen:2,extern:6,postpon:[3,6],macro:[0,6,1,3],without:[2,1,3,4,5,6],nghttp2_push_promis:[3,6],event2:[2,5],nghttp2_err_def:[3,6],nghttp2_submit_set:[2,6,5,3],execut:4,multiplex:[2,4],struct:[0,6,5,3,2],hint:2,except:[3,6],identif:[3,6],on_data_send_callback:[3,6],nghttp2_select_next_protocol:[3,6,5],real:5,read:[2,6,4,5,3],nghttp2_version_ag:[3,6],next_proto_cb:2,integ:[3,6],server:[0,2,3,4,5,6],either:[2,6,3],output:[2,6,4,5,3],manag:2,stream_clos:[3,6],ssl_ctx_set_next_protos_advertised_cb:2,handshak:[2,5],nonzero:[2,6,3],easili:5,exit:[2,5],refer:[0,6,4,3],base64url:[3,6],nghttp2_session_server_new:[2,6,3],fulli:[3,6],getnameinfo:2,src:4,inflater_ptr:[3,6],ack:[3,6,4],dnsbase:5,settings_payload:[3,6],act:[2,5],routin:[2,5],no_auto_stream_window_upd:[3,6],least_vers:[3,6],error_repli:2,insuffici:[3,6],b2a_hex:4,nghttp2_hcat_respons:[3,6,5],hex:[2,4],start:[2,6,4,5,3],nghttp2_err_stream_clos:[3,6],low:[3,6],lot:[3,6],ipv6:4,strictli:[3,6],next_proto_list:2,nghttp2_proto_version_id_len:[2,6,3],nghttp2_err_invalid_st:[3,6],possibl:[2,6,5,3],"default":[2,6,4,3],hpack:[0,4],err_get_error:[2,5],connect:[2,1,3,4,5,6],creat:[2,6,4,5,3],mainli:[3,6],decreas:[3,6],file:[2,1,3,4,5,6],nghttp2_err_invalid_header_block:[3,6],fill:2,denot:[3,6,5],functypedef:6,googl:4,field:[2,6,4,5,3],valid:[3,6,4],nghttp2_prioriti:[3,6],print_head:5,you:[2,6,4,5,3],sequenc:[2,6,4,5,3],reduc:[3,6],cunit:4,directori:[2,4,5],mask:[3,6],represent:[3,1],all:[2,6,5,1,3],on_unknown_frame_recv_callback:[3,6],illustr:4,nghttp2_err_start_stream_not_allow:[3,6],lack:[3,6],on_end_headers_callback:[3,6,5],follow:[2,1,3,4,5,6],ptr:[2,6,5,3],app_cont:2,uint8_t:[2,6,5,3],readcb:[2,5],program:[0,4,5,2],bufferevent_writ:[2,5],uf_queri:5,far:[2,5],settings_header_table_s:[3,6,4],nghttp2_client_connection_header_len:[2,6,5,3],failur:[3,6,5],veri:[3,6,5],no_auto_connection_window_upd:[3,6],"__cplusplu":6,list:[2,6,3],nghttp2_headers_categori:[3,6],adjust:[3,6],stderr:[2,4,5],small:[3,6],session_recv:2,zero:[3,6],pass:[3,6,5],further:[2,6,5,3],what:[3,6,4],sub:2,sun:4,sum:4,delet:5,version:[0,6,4,1,3],method:[2,6,4,5,3],libjansson:4,percentage_of_original_s:4,excess:2,modifi:[2,6,4,5,1],valu:[2,6,4,5,3],search:2,ai_addrconfig:2,nghttp2_err_push_dis:[3,6],prior:4,amount:[2,5],action:[2,6,5,1],via:[2,6,4,5,3],primit:5,famili:[2,5],establish:[2,5],select:[3,6,4,5],regist:2,libev:[0,4,5,2],taken:[3,6],minor:[3,1],more:[2,6,4,5,3],tsujikawa:[2,6,5,1],nghttp2_settings_header_table_s:[3,6],nghttp2_pri_default:[3,6,5],flag:[2,6,4,5,3],sens:[3,6],known:[3,6],nghttp2_err_wouldblock:[2,6,5,3],endpoint:[3,6,4],dev:[4,1],remain:[2,6,5,3],share:4,accept:[2,6,4,3],minimum:2,ssl_op_al:[2,5],create_ssl:[2,5],strlen:[2,5],huge:[2,5],netinet:[2,5],secur:4,anoth:[3,6],serveraddr:4,reject:[3,6],sec9:[3,6],simpl:[2,6,5,3],resourc:[0,6,4,5,3],referenc:4,variant:[3,6],spdylai:4,associ:[2,1,3,4,5,6],"short":[2,5],caus:[3,6],callback:[2,6,5,3],alpn:[3,6,4],authroiti:5,hypertext:[0,4],libcunit1:4,through:[2,4],left:[3,6],paramet:[3,6,5],style:4,nghttp2_hcat_push_respons:[3,6],pend:[2,6,5,3],nghttp2_err_eof:[3,6],progoram:5,valuelen:[2,6,5,3],"0x010203":[3,1],"return":[2,6,4,5,3],check_path:2,synopsi:[2,5],nghttp2_initial_max_concurrent_stream:[3,6],readlen:2,nghttp2_err_callback_failur:[2,6,5,3],tear:[2,5],achiev:[2,6,3],found:[2,6,3],trailer:[3,6],nghttp2_on_frame_send_callback:[3,6],monoton:5,realli:5,expect:4,field_set:5,event:[2,6,5,1],app_ctx:2,publish:[2,6,5,1],payload:[3,6],etag:4,print:[4,5],on_frame_not_send_callback:[3,6],proxi:[0,4],differ:[3,6],effect:[3,6],reason:[2,6,3],base:[2,4,5],put:[3,6],nghttp2_session_mem_recv:[2,6,5,3],nghttp2_flag:[3,6],recv:4,thread:[2,4],omit:[3,6,5],nghttp2_err_invalid_stream_st:[3,6],assign:[2,6,5,3],feed:[2,5],major:[3,1],notifi:2,number:[2,6,1,3],"0x8":[3,6],done:[2,4,5],stdlib:6,nghttp2_internal_error:[2,6,3],script:4,data_prd:[2,6,3],nghttp2_session_get_stream_user_data:[2,6,5,3],least:[3,6,4],scheme:[4,5],store:[2,6,5,3],input_length:4,memset:[2,5],option:[2,6,4,5,3],similarli:[3,6],nghttp2_client_connection_head:[2,6,5,3],pars:[3,6,5],kind:[2,6,5,1,3],doubli:2,remot:[2,6,4,5,3],remov:[2,6,3],bridg:4,ai_next:2,consumpt:[2,5],nghttp2_error:[3,6],window_size_incr:[3,6,4],lib_error_cod:[3,6],arrlen:[2,5],packag:4,"null":[2,6,5,3],nghttp2_on_frame_recv_parse_error_callback:[3,6],syn_stream:[3,6],sell:[2,6,5,1],outbound:[3,6],equival:[3,6],self:4,also:[2,6,4,5,3],build:[0,4,5],nghttp2_err_frame_size_error:[3,6],make_nv:[2,5],distribut:[2,6,5,1],reacb:5,reach:[3,6],chart:[3,6],most:[3,6],vnu:4,charg:[2,6,5,1],addr:2,"01881f3468e5891afcbf83868a3d856659c62e3f":4,compar:[3,6,5],frame_size_error:[3,6,4],session:[2,6,5,3],nghttp2_submit_push_promis:[3,6],copyright:[2,6,5,1],refused_stream:[3,6],nghttp2_opt_no_auto_stream_window_upd:[3,6],queu:[2,6,5,3],express:[2,6,5,1],window_upd:[3,6,4],liabl:[2,6,5,1],before_frame_send_callback:[3,6,5],retreiv:5,crt:2,certif:[2,4,5],set:[2,6,4,5,3],seq:4,sep:4,ousid:4,remove_stream:2,nghttp2_submit_goawai:[3,6],arg:[2,6,5,3],close:[2,6,4,5,3],analog:[3,6],strchr:2,someth:[3,6],won:[2,6,3],hold:[3,6],nghttp2_on_data_chunk_recv_callback:[3,6,5],numer:[3,6,1],succeed:[3,6],percent_decod:2,both:[2,6,4,5,3],last:[3,6,4],delimit:4,nghttp2_session_want_writ:[2,6,5,3],tempor:[3,6],context:[2,6,4,5,3],compression_error:[3,6],whole:[3,6],simpli:[2,5],point:[2,6,5,3],header:[0,2,3,4,5,6],shutdown:[2,6,5,3],suppli:[3,6],nghttp2_session:[2,6,5,3],backend:4,due:[3,6],empti:[2,6,4,5,3],send_respons:2,whom:[2,6,5,1],stdint:6,add_stream:2,flight:[3,6],nghttp2_err_nomem:[3,6],settings_enable_push:[3,6,4],nghttp2_session_terminate_sess:[3,6,5],buflen:[3,6],func:6,next_proto_list_len:2,look:[2,5],"while":[2,6,5,3],behavior:[3,6],error:[2,6,4,5,3],loop:[2,5],malloc:[2,5],nghttp2_session_callback:[2,6,5,3],readi:2,user_data:[2,6,5,3],itself:[2,6,5,3],flow_control_error:[3,6],grant:[2,6,5,1],belong:[3,6],create_http2_session_data:[2,5],decod:[2,6,3],uf_schema:5,mytyp:[3,6],inflat:[3,6,4],alert:4,moment:4,user:[3,6,4,5],implement:[0,2,3,4,5,6],nghttp2_h:6,noninfring:[2,6,5,1],entri:[3,6,4],nghttp:4,person:[2,6,5,1],uint32_t:[3,6],hd_side_request:4,end_push_promis:[3,6],nghttp2_gzip_infl:[3,6],on_frame_send_callback:[3,6],nghttp2_ping:[3,6],input:[2,6,4,5,3],subsequ:[3,6],bin:4,format:[2,6,4,5,3],http_parser:5,bit:[3,6,1],strstr:2,signal:[2,6,5,3],api:[0,6,3],some:[2,6,5,3],back:[3,6],sampl:4,sizeof:[2,5],libssl:4,lev_opt_reus:2,though:4,per:[3,6],larg:[3,6],make_nv2:5,machin:4,run:[2,6,4,5,3],step:[3,6],handshake_readcb:2,idl:[3,6],block:[2,6,4,5,3],nghttp2_err_paus:[3,6],nsm:6,within:4,nghttp2_send_callback:[3,6,5],nghttp2_opt_set:[3,6],occupi:4,inclus:[3,6],errno:2,bodi:[2,6,5,3],"long":[3,6],nghttp2:[0,1,2,3,4,5,6],includ:[0,1,2,3,4,5,6],forward:4,session_ptr:[3,6],link:[2,4],ni_maxhost:2,nghttp2_session_set_stream_user_data:[2,6,3],line:4,concaten:[3,6],utf:4,caller:[2,6,3],nghttpx:4,clear:[3,6],parser:5,repres:[3,6],"char":[2,6,5,3],incomplet:4,sublen:2,titl:2,invalid:[3,6],transport:5,libtool:4,create_http2_stream_data:[2,5],algorithm:[3,6],nghttp2_submit_request:[3,6,5],namelen:[2,6,5,3],getaddrinfo:2,code:[2,6,4,5,3],queri:5,nghttp2_frame_hd:[3,6],cython:4,privat:2,send:[2,6,4,5,3],http_parser_url:5,lower:[3,6],aris:[2,6,5,1],fatal:[2,6,5,3],sent:[2,6,5,3],nghttp2_submit_p:[3,6],untouch:[3,6],relev:[2,5],tri:[3,6],magic:[2,5],http_parser_parse_url:5,"try":4,freed:4,pleas:[2,4,5],impli:[2,6,5,1],smaller:4,snprintf:5,"0x1":[3,6],"0x0":[3,6],"0x4":[3,6],download:[0,4],index:4,o_rdonli:2,settings_flow_control_opt:[3,6],access:4,experiment:[0,4],inspect:[3,6],ssl_ctx_set_opt:[2,5],nghttp2_enhance_your_calm:[3,6],len:[2,6,5,3],closur:[3,6,5],nghttp2_rst_stream:[3,6],ubuntu:4,becom:[2,6,1,3],sinc:[2,6,4,5,3],remark:[0,3],larger:[3,6],settings_payloadlen:[3,6],autoreconf:4,jansson:4,greac:[2,5],chang:[2,6,3],output_wouldblock_threshold:2,appli:[3,6],bufferev:[2,5],from:[0,1,2,3,4,5,6],commun:[2,4,5],binascii:4,upgrad:[3,6,4],next:[2,6,4,5,3],findproxyforurl:4,usr:4,nghttp2_nv:[2,6,5,3],jxck:4,goawai:[2,6,4,5,3],deflat:[3,6,4],account:[3,6,4,5],retriev:[2,6,5,3],tunnel:4,nghttp2_settings_id:[3,6],sslv23_client_method:5,control:[3,6],process:[2,6,4,5,3],fprintf:[2,5],onlin:[3,4],serial:[2,6,5,3],evdns_base_fre:5,nghttp2_session_want_read:[2,6,5,3],ssl_ctx_use_privatekey_fil:2,evbas:[2,5],instead:[3,6],nullifi:[3,6],npn:[2,6,4,5,3],eventcb:[2,5],nghttp2_compression_error:[3,6],alloc:[2,6,3],bind:[0,4],nvlen:[2,6,5,3],correspond:[2,4],element:[2,6,3],issu:[0,6,3],stream_id:[2,6,4,5,3],nghttp2_connect_error:[3,6],ssize_t:[2,6,5,3],furnish:[2,6,5,1],move:[3,6],max_outlen:[3,6],therefor:[3,6,5],nghttp2_session_send:[2,6,5,3],inlen:[3,6,5],recept:[2,6,5,3],crash:3,greater:[3,6],handl:[2,6,5,3],nghttp2_goawai:[3,6],handi:5,automat:[3,6],anyth:5,uf_port:5,mode:4,ssl_filetype_pem:2,chunk:[3,6,5],nghttp2_err_temporal_callback_failur:[2,6,3],"static":[2,6,4,5,3],our:5,patch:[3,1],out:[2,1,3,4,5,6],variabl:4,req:[3,6],categori:[3,6,5],suitabl:[3,6],rel:2,field_data:5,recv_callback:[3,6],insid:4,releas:[0,1,3],could:[2,6,5,3],keep:[2,6,4,5,3],length:[2,6,4,5,3],outsid:[3,4],retain:[3,6],softwar:[2,6,5,1],addrinfo:2,date:4,prioriti:[3,6,5],unknown:[2,6,3],system:[2,5],messag:[3,6,5],attach:[2,5],termin:[2,6,4,5,3],"final":[3,6],ipv4:4,sa_handl:[2,5],enqueu:5,exactli:[2,4],nghttp2_err_header_comp:[3,6],see:[2,6,4,5,3],structur:[2,6,5,3],charact:[2,6,5,3],nghttp2_session_del:[2,6,5,3],bev:[2,5],ssl_new:[2,5],"function":[0,2,3,4,5,6],bufferevent_get_input:[2,5],fail:[3,6],have:[2,6,4,5,3],tabl:[3,6,4],need:[3,6,4,5],ai_socktyp:2,"0x04":4,"0x05":4,"0x00":4,nghttp2_err_flow_control:[3,6],nghttp2_refused_stream:[3,6],evbuffer_pullup:[2,5],which:[2,6,4,5,3],singl:[2,6,4,5,3],opaque_data_len:[3,6],unless:[3,6],bufferevent_openssl_socket_new:[2,5],settings_max_concurrent_stream:[2,6,4,5,3],stream_data:[2,5],deploi:4,"class":4,nghttp2_error_cod:[2,6,5,3],nghttp2_err_stream_id_not_avail:[3,6],url:[2,4],request:[2,6,4,5,3],uri:[4,5],pipe:2,determin:4,nghttp2_pack_settings_payload:[3,6],ssl_load_error_str:[2,5],text:4,bufferevent_get_output:[2,5],redirect:5,locat:5,should:[2,6,5,3],local:[3,6],meant:5,familiar:4,memcpi:[2,5],nghttp2_session_client_new2:[3,6],settings_initial_window_s:[3,6,4],nghttp2_data:[3,6],increas:[3,6,5],portion:[2,6,5,1,3],nghttp2_submit_respons:[2,6,3],enabl:[3,6,4],whether:[2,6,5,1],stuff:[3,6],contain:[2,6,4,5,3],nghttp2_window_upd:[3,6],frame:[2,6,4,5,3],knowledg:4,temporarili:[3,6],statu:[0,6,4,3,2],wire:[2,4,5],correctli:[3,6],nghttp2_settings_entri:[2,6,5,3],written:[2,6,4,5,3],https_uri:5,nghttp2_initial_connection_window_s:[3,6],kei:[2,6,4,3],supporet:4,entir:[2,6,3],last_stream_id:[3,6,4],addit:[2,6,3],revers:4,nghttp2_proto_version_id:[2,6,5,3],equal:2,etc:[2,4,5],instanc:[3,6],on_request_recv_callback:[2,6,3],uint16_t:[3,6,5],rfc2616:[3,6],commenc:5,respect:[3,6,5],nghttp2_recv_callback:[3,6],ssl_ctx_set_next_proto_select_cb:[3,6,5],adjsut:4,compon:5,json:4,treat:[2,6,3],immedi:[3,6],nghttp2_hcat_head:[3,6],sock_stream:2,evconnlisten:2,on_header_callback:[2,6,5,3],nghttp2_frame_size_error:[3,6],defin:[2,6,5,1,3],eintr:2,helper:[3,6],libxml2:4,squid:4,select_next_proto_cb:[3,6,5],archiv:[2,5],substanti:[2,6,5,1],incom:[2,6,4,3],let:[2,5],member:[2,6,3],python:[0,4],ifndef:[6,1],dyanmic:4,http:[0,1,2,3,4,5,6],hostnam:4,uf_host:5,dealloc:4,peer_max_concurrent_stream:[3,6],off:5,well:[2,5],app_context:2,inflatehd:4,exampl:[2,6,4,5,3],command:4,error_cod:[2,6,4,5,3],nghttp2_data_sourc:[2,6,3],usual:[3,6],paus:[3,6],less:[3,6],nghttp2_on_data_recv_callback:[3,6],send_callback:[2,6,5,3],half:[3,6],obtain:[2,6,5,1],tcp:[2,5],web:[2,4],cert_fil:2,send_server_connection_head:2,priorit:[3,6],addrlen:2,add:[2,6,3],match:[2,5],gmt:4,know:[3,6],nva:[2,6,5,3],python3:4,resid:[2,5],like:[2,6,4,5,3],success:4,nghttp2_pri_lowest:[3,6],nghttp2_flag_end_head:[3,6],necessari:2,tlen:[3,6],page:[2,5],file_read_callback:2,nghttp2_session_client_new:[3,6,5],"export":2,nghttp2_session_get_effective_recv_data_length:[3,6],error_html:2,librari:[0,1,2,3,4,5,6],lead:[3,6],avoid:[2,6,5,3],octet:[2,6,5,3],overlap:[3,6],isxdigit:2,outgo:[2,6,3],nghttp2_session_upgrad:[3,6],delete_http2_stream_data:[2,5],"enum":[0,6,3],usag:[2,6,4,5,3],host:[0,4,5,2],nghttp2_nv_compare_nam:[3,6],about:[2,6,5,3],actual:[2,6,5,3],socket:[2,4,5],nghttp2_gzip:[3,6],chrome:4,fals:4,ssl_tlsext_err_ok:[2,6,5,3],disabl:[3,6,4],on_data_recv_callback:[3,6],nghttp2_err_invalid_fram:[3,6],ssl_op_no_sslv2:[2,5],warranti:[2,6,5,1],automak:4,merg:[2,6,5,1],val:[2,5],ai_famili:2,transfer:[0,6,4,3],intention:[3,6],much:2,buz:4,unexpect:[3,6],bufferevent_fre:[2,5],overflow:[3,6],highest:[3,6],buf:[2,6,3],count:[3,6],succe:[3,6],nghttp2_stream_clos:[3,6],nghttp2_info:[3,6],googlecod:[3,6],displai:4,asynchron:[3,6],limit:[2,6,5,1],otherwis:[2,1,3,4,5,6],problem:[3,6],sockaddr:2,nghttp2_on_frame_not_send_callback:[3,6],strndup:5,"int":[2,6,5,3],nghttp2_flag_end_stream:[3,6],allow:[3,6,4],percent:2,detail:[3,6],other:[2,6,5,1,3],nghttp2_err_invalid_argu:[3,6],rememb:[2,5],outlen_ptr:[3,6],stat:2,err_error_str:[2,5],nghttp2_opt_peer_max_concurrent_stream:[3,6],rel_path:2,proto_str:[3,6],debian:4,session_data:[2,5],sphinx:4,eof:[2,6,3],reliabl:[3,6],indirectli:3,nghttp2_no_error:[3,6,5]},objtypes:{"0":"c:member","1":"c:macro","2":"c:type","3":"c:function"},titles:["nghttp2 - HTTP/2.0 C Library","nghttp2ver.h","Tutorial: HTTP/2.0 server","API Reference","nghttp2 - HTTP/2.0 C Library","Tutorial: HTTP/2.0 client","nghttp2.h"],objnames:{"0":["c","member","C member"],"1":["c","macro","C macro"],"2":["c","type","C type"],"3":["c","function","C function"]},filenames:["index","nghttp2ver.h","tutorial-server","apiref","package_README","tutorial-client","nghttp2.h"]}) \ No newline at end of file +Search.setIndex({objects:{"":{NGHTTP2_ERR_INVALID_STATE:[3,1,1,""],NGHTTP2_ERR_HEADER_COMP:[3,1,1,""],NGHTTP2_SETTINGS_HEADER_TABLE_SIZE:[3,1,1,""],nghttp2_settings_entry:[3,2,1,""],NGHTTP2_INTERNAL_ERROR:[3,1,1,""],NGHTTP2_PRI_LOWEST:[3,1,1,""],nghttp2_on_frame_recv_callback:[3,2,1,""],NGHTTP2_CLIENT_CONNECTION_HEADER_LEN:[3,1,1,""],nghttp2_goaway:[3,2,1,""],nghttp2_ping:[3,2,1,""],NGHTTP2_ERR_INVALID_FRAME:[3,1,1,""],nghttp2_frame_type:[3,2,1,""],nghttp2_on_data_recv_callback:[3,2,1,""],nghttp2_select_next_protocol:[3,3,1,""],NGHTTP2_ERR_INVALID_HEADER_BLOCK:[3,1,1,""],nghttp2_session_callbacks:[3,2,1,""],NGHTTP2_ERR_TOO_MANY_INFLIGHT_SETTINGS:[3,1,1,""],NGHTTP2_ERR_PROTO:[3,1,1,""],NGHTTP2_MAX_HEADER_TABLE_SIZE:[3,1,1,""],nghttp2_submit_window_update:[3,3,1,""],NGHTTP2_ERR_UNSUPPORTED_VERSION:[3,1,1,""],NGHTTP2_SETTINGS_ENABLE_PUSH:[3,1,1,""],nghttp2_window_update:[3,2,1,""],nghttp2_session_client_new2:[3,3,1,""],NGHTTP2_DATA:[3,1,1,""],nghttp2_frame_hd:[3,2,1,""],NGHTTP2_ERR_INVALID_STREAM_STATE:[3,1,1,""],nghttp2_on_header_callback:[3,2,1,""],NGHTTP2_FLAG_ACK:[3,1,1,""],NGHTTP2_STREAM_CLOSED:[3,1,1,""],NGHTTP2_SETTINGS_MAX:[3,1,1,""],NGHTTP2_MAX_WINDOW_SIZE:[3,1,1,""],nghttp2_headers_category:[3,2,1,""],nghttp2_error_code:[3,2,1,""],NGHTTP2_REFUSED_STREAM:[3,1,1,""],nghttp2_on_data_chunk_recv_callback:[3,2,1,""],NGHTTP2_ERR_START_STREAM_NOT_ALLOWED:[3,1,1,""],NGHTTP2_ERR_FLOW_CONTROL:[3,1,1,""],nghttp2_strerror:[3,3,1,""],nghttp2_gzip_inflate_del:[3,3,1,""],NGHTTP2_ERR_FATAL:[3,1,1,""],nghttp2_submit_goaway:[3,3,1,""],nghttp2_error:[3,2,1,""],NGHTTP2_INITIAL_CONNECTION_WINDOW_SIZE:[3,1,1,""],NGHTTP2_ERR_NOMEM:[3,1,1,""],NGHTTP2_ERR_PAUSE:[3,1,1,""],NGHTTP2_ENHANCE_YOUR_CALM:[3,1,1,""],NGHTTP2_ERR_PUSH_DISABLED:[3,1,1,""],NGHTTP2_NO_ERROR:[3,1,1,""],NGHTTP2_OPT_PEER_MAX_CONCURRENT_STREAMS:[3,1,1,""],nghttp2_session_server_new2:[3,3,1,""],NGHTTP2_ERR_DEFERRED:[3,1,1,""],nghttp2_push_promise:[3,2,1,""],NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE:[3,1,1,""],nghttp2_session_get_outbound_queue_size:[3,3,1,""],nghttp2_rst_stream:[3,2,1,""],NGHTTP2_PROTO_VERSION_ID_LEN:[3,1,1,""],NGHTTP2_INITIAL_MAX_CONCURRENT_STREAMS:[3,1,1,""],nghttp2_data_source_read_callback:[3,2,1,""],NGHTTP2_SETTINGS_TIMEOUT:[3,1,1,""],nghttp2_on_end_headers_callback:[3,2,1,""],NGHTTP2_ERR_WOULDBLOCK:[3,1,1,""],nghttp2_session_resume_data:[3,3,1,""],NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE:[3,1,1,""],NGHTTP2_PRI_DEFAULT:[3,1,1,""],nghttp2_session_server_new:[3,3,1,""],NGHTTP2_FLAG_END_PUSH_PROMISE:[3,1,1,""],NGHTTP2_ERR_INVALID_ARGUMENT:[3,1,1,""],NGHTTP2_ERR_FRAME_SIZE_ERROR:[3,1,1,""],NGHTTP2_ERR_GOAWAY_ALREADY_SENT:[3,1,1,""],NGHTTP2_HEADERS:[3,1,1,""],nghttp2_flag:[3,2,1,""],NGHTTP2_OPT_NO_AUTO_STREAM_WINDOW_UPDATE:[3,1,1,""],NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS:[3,1,1,""],NGHTTP2_HCAT_REQUEST:[3,1,1,""],NGHTTP2_FLAG_END_HEADERS:[3,1,1,""],nghttp2_gzip:[3,2,1,""],NGHTTP2_FLAG_END_STREAM:[3,1,1,""],NGHTTP2_ERR_EOF:[3,1,1,""],NGHTTP2_HCAT_HEADERS:[3,1,1,""],NGHTTP2_VERSION_NUM:[3,1,1,""],NGHTTP2_SETTINGS:[3,1,1,""],nghttp2_frame:[3,2,1,""],nghttp2_submit_push_promise:[3,3,1,""],NGHTTP2_ERR_DEFERRED_DATA_EXIST:[3,1,1,""],NGHTTP2_CANCEL:[3,1,1,""],nghttp2_send_callback:[3,2,1,""],NGHTTP2_ERR_INVALID_STREAM_ID:[3,1,1,""],nghttp2_on_frame_send_callback:[3,2,1,""],nghttp2_session_mem_recv:[3,3,1,""],NGHTTP2_VERSION:[3,1,1,""],nghttp2_opt_set:[3,2,1,""],nghttp2_session:[3,2,1,""],NGHTTP2_COMPRESSION_ERROR:[3,1,1,""],NGHTTP2_HCAT_PUSH_RESPONSE:[3,1,1,""],nghttp2_submit_rst_stream:[3,3,1,""],nghttp2_submit_headers:[3,3,1,""],nghttp2_recv_callback:[3,2,1,""],nghttp2_session_get_stream_user_data:[3,3,1,""],NGHTTP2_FLAG_PRIORITY:[3,1,1,""],nghttp2_on_data_send_callback:[3,2,1,""],nghttp2_nv:[3,2,1,""],nghttp2_on_invalid_frame_recv_callback:[3,2,1,""],nghttp2_version:[3,3,1,""],nghttp2_on_unknown_frame_recv_callback:[3,2,1,""],NGHTTP2_ERR_STREAM_CLOSED:[3,1,1,""],nghttp2_opt:[3,2,1,""],NGHTTP2_ERR_CALLBACK_FAILURE:[3,1,1,""],NGHTTP2_FLOW_CONTROL_ERROR:[3,1,1,""],nghttp2_session_set_stream_user_data:[3,3,1,""],NGHTTP2_ERR_STREAM_CLOSING:[3,1,1,""],nghttp2_session_client_new:[3,3,1,""],nghttp2_info:[3,2,1,""],NGHTTP2_PROTO_VERSION_ID:[3,1,1,""],nghttp2_settings_id:[3,2,1,""],nghttp2_session_send:[3,3,1,""],NGHTTP2_PROTOCOL_ERROR:[3,1,1,""],nghttp2_gzip_inflate:[3,3,1,""],nghttp2_session_upgrade:[3,3,1,""],nghttp2_session_del:[3,3,1,""],NGHTTP2_ERR_INSUFF_BUFSIZE:[3,1,1,""],nghttp2_settings:[3,2,1,""],nghttp2_on_frame_not_send_callback:[3,2,1,""],nghttp2_session_get_effective_recv_data_length:[3,3,1,""],nghttp2_submit_data:[3,3,1,""],nghttp2_submit_response:[3,3,1,""],NGHTTP2_CLIENT_CONNECTION_HEADER:[3,1,1,""],NGHTTP2_FLAG_NONE:[3,1,1,""],nghttp2_session_terminate_session:[3,3,1,""],nghttp2_on_frame_recv_parse_error_callback:[3,2,1,""],nghttp2_submit_settings:[3,3,1,""],NGHTTP2_HCAT_RESPONSE:[3,1,1,""],NGHTTP2_PING:[3,1,1,""],NGHTTP2_OPT_NO_AUTO_CONNECTION_WINDOW_UPDATE:[3,1,1,""],nghttp2_priority:[3,2,1,""],nghttp2_session_want_read:[3,3,1,""],NGHTTP2_VERSION_AGE:[3,1,1,""],NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE:[3,1,1,""],NGHTTP2_CONNECT_ERROR:[3,1,1,""],NGHTTP2_RST_STREAM:[3,1,1,""],nghttp2_on_stream_close_callback:[3,2,1,""],NGHTTP2_PUSH_PROMISE:[3,1,1,""],nghttp2_data_provider:[3,2,1,""],nghttp2_on_request_recv_callback:[3,2,1,""],nghttp2_session_recv:[3,3,1,""],nghttp2_session_get_effective_local_window_size:[3,3,1,""],NGHTTP2_INITIAL_WINDOW_SIZE:[3,1,1,""],NGHTTP2_WINDOW_UPDATE:[3,1,1,""],NGHTTP2_SETTINGS_FLOW_CONTROL_OPTIONS:[3,1,1,""],nghttp2_session_want_write:[3,3,1,""],nghttp2_submit_priority:[3,3,1,""],nghttp2_session_get_stream_effective_local_window_size:[3,3,1,""],nghttp2_headers:[3,2,1,""],nghttp2_before_frame_send_callback:[3,2,1,""],NGHTTP2_GOAWAY:[3,1,1,""],NGHTTP2_ERR_GZIP:[3,1,1,""],nghttp2_submit_ping:[3,3,1,""],NGHTTP2_FRAME_SIZE_ERROR:[3,1,1,""],nghttp2_data_source:[3,2,1,""],NGHTTP2_ERR_STREAM_SHUT_WR:[3,1,1,""],NGHTTP2_PRIORITY:[3,1,1,""],nghttp2_submit_request:[3,3,1,""],nghttp2_session_get_stream_effective_recv_data_length:[3,3,1,""],nghttp2_pack_settings_payload:[3,3,1,""],nghttp2_gzip_inflate_new:[3,3,1,""],nghttp2_nv_compare_name:[3,3,1,""]},nghttp2_session_callbacks:{on_invalid_frame_recv_callback:[3,0,1,""],before_frame_send_callback:[3,0,1,""],on_stream_close_callback:[3,0,1,""],on_data_chunk_recv_callback:[3,0,1,""],on_unknown_frame_recv_callback:[3,0,1,""],send_callback:[3,0,1,""],nghttp2_on_frame_recv_parse_error_callback:[3,0,1,""],on_frame_send_callback:[3,0,1,""],on_end_headers_callback:[3,0,1,""],on_frame_recv_callback:[3,0,1,""],on_data_send_callback:[3,0,1,""],on_header_callback:[3,0,1,""],on_frame_not_send_callback:[3,0,1,""],on_request_recv_callback:[3,0,1,""],on_data_recv_callback:[3,0,1,""],recv_callback:[3,0,1,""]},nghttp2_frame:{push_promise:[3,0,1,""],settings:[3,0,1,""],ping:[3,0,1,""],rst_stream:[3,0,1,""],priority:[3,0,1,""],headers:[3,0,1,""],goaway:[3,0,1,""],window_update:[3,0,1,""],hd:[3,0,1,""]},nghttp2_ping:{hd:[3,0,1,""]},nghttp2_data_provider:{source:[3,0,1,""],read_callback:[3,0,1,""]},nghttp2_priority:{pri:[3,0,1,""],hd:[3,0,1,""]},nghttp2_settings_entry:{settings_id:[3,0,1,""],value:[3,0,1,""]},nghttp2_window_update:{hd:[3,0,1,""],window_size_increment:[3,0,1,""]},nghttp2_frame_hd:{stream_id:[3,0,1,""],length:[3,0,1,""],flags:[3,0,1,""],type:[3,0,1,""]},nghttp2_info:{age:[3,0,1,""],version_str:[3,0,1,""],version_num:[3,0,1,""],proto_str:[3,0,1,""]},nghttp2_rst_stream:{error_code:[3,0,1,""],hd:[3,0,1,""]},nghttp2_nv:{valuelen:[3,0,1,""],namelen:[3,0,1,""],name:[3,0,1,""],value:[3,0,1,""]},nghttp2_headers:{nvlen:[3,0,1,""],pri:[3,0,1,""],hd:[3,0,1,""],nva:[3,0,1,""],cat:[3,0,1,""]},nghttp2_opt_set:{no_auto_stream_window_update:[3,0,1,""],peer_max_concurrent_streams:[3,0,1,""],no_auto_connection_window_update:[3,0,1,""]},nghttp2_goaway:{opaque_data:[3,0,1,""],error_code:[3,0,1,""],opaque_data_len:[3,0,1,""],hd:[3,0,1,""],last_stream_id:[3,0,1,""]},nghttp2_data_source:{fd:[3,0,1,""],ptr:[3,0,1,""]},nghttp2_push_promise:{promised_stream_id:[3,0,1,""],nvlen:[3,0,1,""],nva:[3,0,1,""],hd:[3,0,1,""]},nghttp2_settings:{niv:[3,0,1,""],hd:[3,0,1,""],iv:[3,0,1,""]}},terms:{my_obj:[3,6],nghttp2_io_flag:6,nghttp2_cancel:[3,6],opt_set:[3,6],prefix:[2,6,3],nghttp2_session_get_stream_effective_local_window_s:[3,6],"const":[2,6,5,3],nghttp2_submit_:[2,5],under:[3,6,4],bufferevent_getfd:5,spec:[3,6],merchant:[2,6,5,1],digit:5,"void":[2,6,5,3],bufferevent_ssl:[2,5],initialize_nghttp2_setup:[2,5],verif:5,servic:2,warnx:[2,5],on_stream_close_callback:[2,6,5,3],direct:4,ssl_op_no_session_resumption_on_renegoti:[2,5],neg:[3,6],nghttp2_err_insuff_bufs:[3,6],"new":[2,6,4,5,3],tatsuhiro:[0,1,2,4,5,6],nghttp2_session_resume_data:[3,6],ipproto_tcp:[2,5],abov:[2,1,3,4,5,6],initialize_app_context:2,here:[2,6,4,5,3],met:[2,6,5,3],path:[2,4,5],settings_timeout:[3,6],interpret:[3,6],nextprotoneg:[3,6],sslv23_server_method:2,permit:[2,6,5,1],nghttp2_submit_prior:[3,6],aka:[3,6,4],nghttp2_err_gzip:[3,6],nghttp2_frame:[2,6,5,3],bufferevent_ssl_connect:5,substr:2,bev_event_error:[2,5],printabl:5,unit:4,describ:[2,6,5,3],would:[3,6],overhead:4,asset:4,nghttp2_on_invalid_frame_recv_callback:[3,6],nghttp2_version:[3,6,1],type:[0,2,3,4,5,6],tell:[2,6,5,3],relat:[2,5],notic:[2,6,5,1],warn:2,ssl_shutdown:[2,5],herebi:[2,6,5,1],unpack:[3,6],must:[2,6,4,5,3],word:[3,6],err:[2,5],exit_failur:[2,5],setup:[2,5],work:[2,4],lev_opt_close_on_fre:2,nghttp2_flag_ack:[3,6],root:[2,4],syn_repli:[3,6],defer:[2,6,5,3],give:[3,6],indic:[2,6,4,5,3],want:[2,6,5,3],unsign:[2,6,5,3],nghttp2_settings_flow_control_opt:[3,6],end:[2,5],datalen:[2,5],how:5,nghttp2_err_fat:[3,6],nghttp2_frame_typ:[3,6],updat:[3,6],nghttp2_msg_more:6,nghttp2_on_request_recv_callback:[3,6],after:[2,6,4,5,3],badli:[3,6],demonstr:5,request_path:2,attempt:[3,6],third:[2,6,5,3],opaqu:[3,6],exclud:[3,6],receiv:[2,6,5,3],first:[2,6,4,5,3],order:[2,6,4,3],frontend:4,over:[2,4,5],becaus:[2,6,5,3],eagain:[2,5],vari:4,fit:[2,6,5,1],fwrite:5,deflate_s:4,hidden:[3,6],them:[2,6,5,3],thei:[2,6,4,5,3],safe:[2,6,3],"break":[2,6,5,3],promis:[3,6],choic:[3,6],ai_addr:2,timeout:[2,5],each:[2,6,4,5,3],debug:[3,6,5],side:[2,6,3],mean:[3,6,4,5],slen:2,protocol_error:[3,6],http2_stream_data:[2,5],nghttp2_session_server_new2:[3,6],network:[2,5],content:[0,4,2],end_stream:[3,6,4],situat:[2,5],free:[2,6,5,1,3],spdy:[3,6,4],openssl:[2,4,5],nghttp2_version_num:[3,6,1],sigact:[2,5],rang:[3,6,4],restrict:[2,6,5,1],nghttp2_protocol_error:[3,6],alreadi:[2,6,5,3],primari:[3,6],nghttp2_max_header_table_s:[3,6],too:[2,6,3],memcmp:2,draft:[0,6,4,3],listen:[2,4],tool:[0,4],travers:2,compressor:4,target:[3,6,4],provid:[2,1,3,4,5,6],project:[0,4],increment:[3,6],nghttp2_session_recv:[3,6],nghttp2_session_get_stream_effective_recv_data_length:[3,6],transmit:[3,6,5],sig_ign:[2,5],shall:[2,6,5,1],object:[2,6,4,5,3],writecb:[2,5],nghttp2_settings_timeout:[3,6],prematur:5,simplic:5,don:[2,6,3],hex_to_uint:2,doc:4,flow:[3,6],doe:[2,6,4,5,3],nghttp2_gzip_inflate_new:[3,6],on_invalid_frame_recv_callback:[3,6],bev_event_eof:[2,5],pkg:4,identifi:[2,6,5,3],bufferevent_setcb:[2,5],explain:5,configur:[3,6,4],apach:4,nghttp2_err_invalid_stream_id:[3,6],busi:[2,5],oct:4,nghttp2_err_proto:[3,6],authoritylen:5,stop:[2,5],end_head:[3,6,4],evbuffer_drain:[2,5],bar:4,ai_pass:2,ietf:[0,4],baz:4,push_promis:[3,6],"public":[0,6,4,3],nghttp2_strerror:[2,6,5,3],nghttp2_gzip_inflate_del:[3,6],bufferevent_ssl_accept:2,nul:[3,6],result:[2,6,5,3],respons:[2,6,4,5,3],corrupt:5,key_fil:2,subject:[2,6,5,1],said:[3,6],figur:4,bev_opt_close_on_fre:[2,5],accord:[3,6],extens:[4,5],advertis:[2,5],setsockopt:[2,5],against:[3,6],ssl_ctx_use_certificate_chain_fil:2,header_t:4,logic:2,browser:4,com:[0,6,4,3],int32_t:[2,6,5,3],assum:[3,6],duplic:[3,6],reciev:5,liabil:[2,6,5,1],evbuffer_get_length:[2,5],union:[0,6,3,2],max_deflate_s:4,been:[2,6,5,3],trigger:[3,6],interest:[2,4,5],basic:4,tini:5,life:2,regul:[2,5],argument:[2,6,4,5,3],ewouldblock:[2,5],ssl_op_no_compress:[2,5],nghttp2_settings_initial_window_s:[3,6],zlib:4,bev_event_timeout:[2,5],bufferevent_socket_connect_hostnam:5,nghttp2_set:[3,6],promised_stream_id:[3,6],conf:4,sever:[2,6,4,5,3],perform:[2,6,4,3],make:[2,6,4,3],headlen:[3,6],version_str:[3,6],nghttp2_on_stream_close_callback:[3,6,5],complet:[2,6,5,3],start_listen:2,bufferevent_openssl_get_ssl:[2,5],nghttp2_err_deferred_data_exist:[3,6],ssl_ctx_new:[2,5],zlib1g:4,ownership:[3,6],niv:[3,6,4],thu:[2,6,3],nghttp2_session_get_effective_local_window_s:[3,6],client:[0,2,3,4,5,6],thi:[0,1,2,3,4,5,6],endif:[2,6,1],gzip:[3,6,4],opaque_data:[3,6,4],protocol:[0,2,3,4,5,6],just:[2,6,4,5,3],"0x01":4,initiate_connect:5,ifdef:[2,6],previous:[3,6],easi:4,els:[2,5],applic:[2,6,4,5,3],initialize_nghttp2_sess:[2,5],specif:[2,6,5,3],arbitrari:[3,6],http2_session_data:[2,5],client_addr:2,manual:4,html:[0,6,4,3,2],tcp_nodelai:[2,5],unnecessari:5,underli:[2,5],www:[3,6],right:[2,6,5,1],deal:[2,6,5,1,3],on_frame_recv_parse_error_callback:[3,6],successfulli:[2,5],transmiss:[2,6,5,3],ni_numerichost:2,bottom:[3,6],nghttp2_data_source_read_callback:[3,6],buffer:[2,6,4,5,3],condit:[2,6,5,1,3],foo:4,localhost:4,particular:[2,6,5,1,3],sensibl:[3,6],repositori:[2,5],peer:[2,6,5,3],post:[3,6,4],decompressor:4,inlen_ptr:[3,6],nghttp2_submit_data:[3,6],nghttp2_settings_max_concurrent_stream:[2,6,5,3],produc:[3,6],evbuff:[2,5],encod:[2,6,4,3],down:[2,5],nghttp2_before_frame_send_callback:[3,6,5],errx:[2,5],nghttp2_on_end_headers_callback:[2,6,5,3],git:[0,6,4,3],session_send:[2,5],wai:[3,6,4],support:[2,6,4,5,3],verbos:4,call:[2,6,4,5,3],fork:4,head:[2,6,3],form:[3,6],offer:4,bev_event_connect:[2,5],"true":4,hddeflat:4,ssl_ctx_free:[2,5],maximum:[3,6,4],until:[3,6],deafult:4,autoconf:4,emit:[2,6,5,3],nghttp2_initial_window_s:[3,6],featur:4,httpbi:[0,4],"abstract":[2,5],unreleas:4,exist:[3,6,4],ai_flag:2,ends_with:2,check:[2,6,5,3],delete_http2_session_data:[2,5],when:[2,6,4,5,3],role:[2,6,5,3],test:[0,4],send_client_connection_head:5,unlimit:[3,6],intend:2,af_unspec:[2,5],nghttp2_max_window_s:[3,6],technot:[3,6],max_siz:4,evconnlistener_new_bind:2,longer:[2,4],ignor:[2,6,3],time:[2,6,4,3],push:[3,6,4],skip:[3,6],evbuffer_remov:2,nghttp2_on_frame_recv_callback:[3,6,5],nghttp2ver_h:1,decid:[3,6],create_ssl_ctx:[2,5],depend:[2,5],readabl:5,sourc:[0,6,5,3,2],string:[2,6,4,5,3],nghttp2_settings_enable_push:[3,6],level:[2,6,3],did:[3,6,5],item:4,settings_id:[3,6],conhead:2,prevent:[3,6],sign:4,port:[2,4,5],appear:[3,6,4],event_base_fre:[2,5],current:[2,6,4,3],gener:[3,6,4],address:4,nghttp2_submit_rst_stream:[2,6,3],connect_error:[3,6],queue:[2,6,5,3],behav:[3,6],ourselv:[2,5],nghttp2_err_goaway_already_s:[3,6],regardless:[3,6],extra:[4,5],modul:4,prefer:[3,6],instal:4,hdinflat:4,memori:[2,6,4,5,3],strdup:2,prev:2,reorder:[3,6,5],rst_stream:[2,6,5,3],ctype:2,nghttp2_submit_window_upd:[3,6],prepar:[3,6],stream_user_data:[3,6,5],cat:[2,6,5,3],descriptor:[2,6,3],can:[2,6,4,5,3],http2:[0,6,4,3],purpos:[2,6,5,1],uf_path:5,claim:[2,6,5,1],stream:[2,6,4,5,3],agent:4,abort:[3,6],nghttp2_header:[2,6,5,3],occur:[3,6],alwai:[2,6,3],multipl:[2,6,5,3],charset:4,ping:[3,6],write:[2,4,5],opt_set_mask:[3,6],max:5,intrus:2,mai:[2,6,4,5,3],acceptcb:2,data:[2,6,4,5,3],autotool:4,stdin:4,inform:[2,6,4,5,3],"switch":[2,4,5],aaaabaaaagqaaaahaad__w:4,talk:[2,4],nghttp2_err_stream_shut_wr:[3,6],size_t:[2,6,5,3],nghttp2_err_unsupported_vers:[3,6],still:[3,6,4],pointer:[2,6,3],entiti:2,disconnect:[2,5],precondit:[3,6],tort:[2,6,5,1],window:[3,6],main:[2,5],non:[2,6,4,5,3],recal:5,initi:[2,6,5,3],nghttp2_submit_head:[3,6],nghttp2_on_header_callback:[2,6,5,3],name:[2,6,4,5,3],version_num:[3,6],config:4,no_error:4,drop:[2,6,5,3],replac:[3,6],individu:[3,6],continu:[2,6,4,5,3],event_base_loop:[2,5],turoti:5,happen:[2,4,5],ai_addrlen:2,space:[3,6,4],output_length:4,nghttp2_flag_end_push_promis:[3,6],earlier:[2,4,5],event_base_new:[2,5],argv:[2,5],org:[0,6,4,3],"byte":[2,6,4,5,3],argc:[2,5],nghttp2_opt_no_auto_connection_window_upd:[3,6],nghttp2ver:[0,6,1,3],"88448504252dd5918485":4,befor:[2,6,4,5,3],thing:[2,6,5,3],nghttp2_flag_non:[2,6,5,3],place:[3,6],evdns_base_new:5,oper:[3,6,4],directli:[2,6,5,3],onc:[3,6],arrai:[3,6,4,5],yourself:4,nghttp2_flow_control_error:[3,6],submit:[3,6,5],on_frame_recv_callback:[2,6,5,3],open:[2,6,4,3],size:[2,6,4,3],avail:[2,6,4,5,3],given:[3,6],necessarili:[3,6],sigpip:[2,5],internal_error:[3,6],conveni:[3,6],ssl_ctx:[2,6,5,3],copi:[2,6,5,1,3],specifi:[2,6,4,5,3],github:[0,4],holder:[2,6,5,1],than:[2,6,4,3],serv:2,wide:2,nghttp2_session_get_outbound_queue_s:[3,6],were:[2,5],posit:[3,6],read_callback:[2,6,3],enhance_your_calm:[3,6],lowest:[3,6],sai:[3,6],pri:[3,6],ani:[2,1,3,4,5,6],bitwis:[3,6],event_bas:[2,5],nghttp2_flag_prior:[3,6],destroi:[2,5],payloadlen:[3,6],note:[2,4,5],take:[2,6,4,5,3],properti:[2,5],noth:[3,6],begin:5,sure:[2,4,5],normal:[3,6],track:[2,4,5],compress:[0,4],nghttp2_hcat_request:[2,6,5,3],pathlen:5,sublicens:[2,6,5,1],pair:[2,6,4,5,3],http2_select:[3,6],later:[2,6,5,3],gracefulli:5,show:[4,5],unprocess:[2,5],concurr:[2,6,3],permiss:[2,6,5,1],threshold:2,onli:[2,6,4,5,3],state:[2,6,4,3],"4e5535a027780":4,overwritten:[3,6],reset:5,variou:[3,6],get:[2,6,4,5,3],outlen:[3,6,5],ssl:[2,6,4,5,3],cannot:[2,6,3],nghttpd:4,requir:[0,6,4,3],nghttp2_set_stream_user_data:2,nghttp2_frame_size_error:[3,6],reserv:[3,6],detect:[3,6,4],"import":4,fcntl:2,pipefd:2,bump:[3,6],evdns_bas:5,typedef:[0,6,5,3,2],submit_request:5,region:[3,6],"0x000300":1,contract:[2,6,5,1],tutori:[0,5,2],deflatehd:4,mani:[3,6],nghttp2_data_provid:[2,6,3],unistd:[2,5],nghttp2_err_too_many_inflight_set:[3,6],cancel:[3,6],damag:[2,6,5,1],nghttp2_on_data_send_callback:[3,6],header_table_s:4,nghttp2_settings_max:[3,6],netdb:2,nghttp2_on_unknown_frame_recv_callback:[3,6],nghttp2_opt:[3,6],those:[2,6,5,3],"case":[2,6,4,5,3],hdr:[2,4,5],invok:[2,6,5,3],invoc:[2,6,3],on_data_chunk_recv_callback:[3,6,5],stdout:[4,5],ascii:[3,6],develop:[0,4],author:[2,6,4,5,1],bev_opt_defer_callback:[2,5],same:[2,6,4,5,3],ssl_library_init:[2,5],binari:5,pac:4,document:[0,1,2,4,5,6],finish:[2,5],decompress:[3,6,4,5],handshake_leftlen:2,extern:6,postpon:[3,6],macro:[0,6,1,3],without:[2,1,3,4,5,6],nghttp2_push_promis:[3,6],event2:[2,5],nghttp2_err_def:[3,6],nghttp2_submit_set:[2,6,5,3],execut:4,multiplex:[2,4],struct:[0,6,5,3,2],hint:2,except:[3,6],identif:[3,6],on_data_send_callback:[3,6],nghttp2_select_next_protocol:[3,6,5],real:5,read:[2,6,4,5,3],nghttp2_version_ag:[3,6],next_proto_cb:2,integ:[3,6],server:[0,2,3,4,5,6],either:[2,6,3],output:[2,6,4,5,3],manag:2,stream_clos:[3,6],ssl_ctx_set_next_protos_advertised_cb:2,handshak:[2,5],nonzero:[2,6,3],easili:5,exit:[2,5],refer:[0,6,4,3],base64url:[3,6],nghttp2_session_server_new:[2,6,3],fulli:[3,6],getnameinfo:2,src:4,inflater_ptr:[3,6],ack:[3,6,4],dnsbase:5,settings_payload:[3,6],act:[2,5],routin:[2,5],no_auto_stream_window_upd:[3,6],least_vers:[3,6],error_repli:2,insuffici:[3,6],b2a_hex:4,nghttp2_hcat_respons:[3,6,5],hex:[2,4],start:[2,6,4,5,3],nghttp2_err_stream_clos:[3,6],low:[3,6],lot:[3,6],ipv6:4,strictli:[3,6],next_proto_list:2,nghttp2_proto_version_id_len:[2,6,3],nghttp2_err_invalid_st:[3,6],possibl:[2,6,5,3],"default":[2,6,4,3],hpack:[0,4],err_get_error:[2,5],connect:[2,1,3,4,5,6],creat:[2,6,4,5,3],mainli:[3,6],decreas:[3,6],file:[2,1,3,4,5,6],nghttp2_err_invalid_header_block:[3,6],fill:2,denot:[3,6,5],functypedef:6,googl:4,field:[2,6,4,5,3],valid:[3,6,4],nghttp2_prioriti:[3,6],print_head:5,you:[2,6,4,5,3],sequenc:[2,6,4,5,3],reduc:[3,6],cunit:4,directori:[2,4,5],mask:[3,6],represent:[3,1],all:[2,6,5,1,3],on_unknown_frame_recv_callback:[3,6],illustr:4,nghttp2_err_start_stream_not_allow:[3,6],lack:[3,6],on_end_headers_callback:[3,6,5],follow:[2,1,3,4,5,6],ptr:[2,6,5,3],app_cont:2,uint8_t:[2,6,5,3],readcb:[2,5],program:[0,4,5,2],bufferevent_writ:[2,5],uf_queri:5,far:[2,5],settings_header_table_s:[3,6,4],nghttp2_client_connection_header_len:[2,6,5,3],failur:[3,6,5],veri:[3,6,5],no_auto_connection_window_upd:[3,6],"__cplusplu":6,list:[2,6,3],nghttp2_headers_categori:[3,6],adjust:[3,6],stderr:[2,4,5],small:[3,6],session_recv:2,zero:[3,6],pass:[3,6,5],further:[2,6,5,3],what:[3,6,4],sub:2,sun:4,sum:4,delet:5,version:[0,6,4,1,3],method:[2,6,4,5,3],libjansson:4,percentage_of_original_s:4,excess:2,modifi:[2,6,4,5,1],valu:[2,6,4,5,3],search:2,ai_addrconfig:2,nghttp2_err_push_dis:[3,6],prior:4,amount:[2,5],action:[2,6,5,1],via:[2,6,4,5,3],primit:5,famili:[2,5],establish:[2,5],select:[3,6,4,5],regist:2,libev:[0,4,5,2],taken:[3,6],minor:[3,1],more:[2,6,4,5,3],tsujikawa:[2,6,5,1],nghttp2_settings_header_table_s:[3,6],nghttp2_pri_default:[3,6,5],flag:[2,6,4,5,3],sens:[3,6],known:[3,6],nghttp2_err_wouldblock:[2,6,5,3],endpoint:[3,6,4],dev:[4,1],remain:[2,6,5,3],share:4,accept:[2,6,4,3],minimum:2,ssl_op_al:[2,5],create_ssl:[2,5],strlen:[2,5],huge:[2,5],netinet:[2,5],secur:4,anoth:[3,6],serveraddr:4,reject:[3,6],sec9:[3,6],simpl:[2,6,5,3],resourc:[0,6,4,5,3],referenc:4,variant:[3,6],spdylai:4,associ:[2,1,3,4,5,6],"short":[2,5],caus:[3,6],callback:[2,6,5,3],alpn:[3,6,4],authroiti:5,hypertext:[0,4],libcunit1:4,through:[2,4],left:[3,6],paramet:[3,6,5],style:4,nghttp2_hcat_push_respons:[3,6],pend:[2,6,5,3],nghttp2_err_eof:[3,6],progoram:5,valuelen:[2,6,5,3],"0x010203":[3,1],"return":[2,6,4,5,3],check_path:2,synopsi:[2,5],nghttp2_initial_max_concurrent_stream:[3,6],readlen:2,nghttp2_err_callback_failur:[2,6,5,3],tear:[2,5],achiev:[2,6,3],found:[2,6,3],trailer:[3,6],nghttp2_on_frame_send_callback:[3,6],monoton:5,realli:5,expect:4,field_set:5,event:[2,6,5,1],app_ctx:2,publish:[2,6,5,1],payload:[3,6],etag:4,print:[4,5],on_frame_not_send_callback:[3,6],proxi:[0,4],differ:[3,6],effect:[3,6],reason:[2,6,3],base:[2,4,5],put:[3,6],nghttp2_session_mem_recv:[2,6,5,3],nghttp2_flag:[3,6],recv:4,thread:[2,4],omit:[3,6,5],nghttp2_err_invalid_stream_st:[3,6],assign:[2,6,5,3],feed:[2,5],major:[3,1],notifi:2,number:[2,6,1,3],"0x8":[3,6],done:[2,4,5],stdlib:6,nghttp2_internal_error:[2,6,3],script:4,data_prd:[2,6,3],nghttp2_session_get_stream_user_data:[2,6,5,3],least:[3,6,4],scheme:[4,5],store:[2,6,5,3],input_length:4,memset:[2,5],option:[2,6,4,5,3],similarli:[3,6],nghttp2_client_connection_head:[2,6,5,3],pars:[3,6,5],kind:[2,6,5,1,3],doubli:2,remot:[2,6,4,5,3],remov:[2,6,3],bridg:4,ai_next:2,consumpt:[2,5],nghttp2_error:[3,6],window_size_incr:[3,6,4],lib_error_cod:[3,6],arrlen:[2,5],packag:4,"null":[2,6,5,3],nghttp2_on_frame_recv_parse_error_callback:[3,6],syn_stream:[3,6],sell:[2,6,5,1],outbound:[3,6],equival:[3,6],self:4,also:[2,6,4,5,3],build:[0,4,5],nghttp2_err_frame_size_error:[3,6],make_nv:[2,5],distribut:[2,6,5,1],reacb:5,reach:[3,6],chart:[3,6],most:[3,6],vnu:4,charg:[2,6,5,1],addr:2,"01881f3468e5891afcbf83868a3d856659c62e3f":4,compar:[3,6,5],frame_size_error:[3,6,4],session:[2,6,5,3],nghttp2_submit_push_promis:[3,6],copyright:[2,6,5,1],refused_stream:[3,6],nghttp2_opt_no_auto_stream_window_upd:[3,6],queu:[2,6,5,3],express:[2,6,5,1],window_upd:[3,6,4],liabl:[2,6,5,1],before_frame_send_callback:[3,6,5],retreiv:5,crt:2,certif:[2,4,5],set:[2,6,4,5,3],seq:4,sep:4,ousid:4,remove_stream:2,nghttp2_submit_goawai:[3,6],arg:[2,6,5,3],close:[2,6,4,5,3],analog:[3,6],strchr:2,someth:[3,6],won:[2,6,3],hold:[3,6],nghttp2_on_data_chunk_recv_callback:[3,6,5],numer:[3,6,1],succeed:[3,6],percent_decod:2,both:[2,6,4,5,3],last:[3,6,4],delimit:4,nghttp2_session_want_writ:[2,6,5,3],tempor:[3,6],context:[2,6,4,5,3],compression_error:[3,6],whole:[3,6],simpli:[2,5],point:[2,6,5,3],header:[0,2,3,4,5,6],shutdown:[2,6,5,3],suppli:[3,6],nghttp2_session:[2,6,5,3],backend:4,due:[3,6],empti:[2,6,4,5,3],send_respons:2,whom:[2,6,5,1],stdint:6,add_stream:2,flight:[3,6],nghttp2_err_nomem:[3,6],settings_enable_push:[3,6,4],nghttp2_session_terminate_sess:[3,6,5],buflen:[3,6],func:6,next_proto_list_len:2,look:[2,5],"while":[2,6,5,3],behavior:[3,6],error:[2,6,4,5,3],loop:[2,5],malloc:[2,5],nghttp2_session_callback:[2,6,5,3],readi:2,user_data:[2,6,5,3],itself:[2,6,5,3],flow_control_error:[3,6],grant:[2,6,5,1],belong:[3,6],create_http2_session_data:[2,5],decod:[2,6,3],uf_schema:5,mytyp:[3,6],inflat:[3,6,4],alert:4,moment:4,user:[3,6,4,5],implement:[0,2,3,4,5,6],nghttp2_h:6,noninfring:[2,6,5,1],entri:[3,6,4],nghttp:4,person:[2,6,5,1],uint32_t:[3,6],hd_side_request:4,end_push_promis:[3,6],nghttp2_gzip_infl:[3,6],on_frame_send_callback:[3,6],nghttp2_ping:[3,6],input:[2,6,4,5,3],subsequ:[3,6],bin:4,format:[2,6,4,5,3],http_parser:5,bit:[3,6,1],strstr:2,signal:[2,6,5,3],api:[0,6,3],some:[2,6,5,3],back:[3,6],sampl:4,sizeof:[2,5],libssl:4,lev_opt_reus:2,though:4,per:[3,6],larg:[3,6],make_nv2:5,machin:4,run:[2,6,4,5,3],step:[3,6],handshake_readcb:2,idl:[3,6],block:[2,6,4,5,3],nghttp2_err_paus:[3,6],nsm:6,within:4,nghttp2_send_callback:[3,6,5],nghttp2_opt_set:[3,6],occupi:4,inclus:[3,6],errno:2,bodi:[2,6,5,3],"long":[3,6],nghttp2:[0,1,2,3,4,5,6],includ:[0,1,2,3,4,5,6],forward:4,session_ptr:[3,6],link:[2,4],ni_maxhost:2,nghttp2_session_set_stream_user_data:[2,6,3],line:4,concaten:[3,6],utf:4,caller:[2,6,3],nghttpx:4,clear:[3,6],parser:5,repres:[3,6],"char":[2,6,5,3],incomplet:4,sublen:2,titl:2,invalid:[3,6],librari:[0,1,2,3,4,5,6],libtool:4,create_http2_stream_data:[2,5],algorithm:[3,6],nghttp2_submit_request:[3,6,5],namelen:[2,6,5,3],getaddrinfo:2,code:[2,6,4,5,3],queri:5,nghttp2_frame_hd:[3,6],cython:4,privat:2,send:[2,6,4,5,3],http_parser_url:5,lower:[3,6],aris:[2,6,5,1],fatal:[2,6,5,3],sent:[2,6,5,3],nghttp2_submit_p:[3,6],untouch:[3,6],relev:[2,5],tri:[3,6],magic:[2,5],http_parser_parse_url:5,"try":4,freed:4,pleas:[2,4,5],impli:[2,6,5,1],smaller:4,snprintf:5,"0x1":[3,6],"0x0":[3,6],"0x4":[3,6],download:[0,4],index:4,o_rdonli:2,settings_flow_control_opt:[3,6],access:4,experiment:[0,4],inspect:[3,6],ssl_ctx_set_opt:[2,5],nghttp2_enhance_your_calm:[3,6],len:[2,6,5,3],closur:[3,6,5],nghttp2_rst_stream:[3,6],ubuntu:4,becom:[2,6,1,3],sinc:[2,6,4,5,3],remark:[0,3],larger:[3,6],settings_payloadlen:[3,6],autoreconf:4,jansson:4,greac:[2,5],chang:[2,6,3],output_wouldblock_threshold:2,appli:[3,6],bufferev:[2,5],from:[0,1,2,3,4,5,6],commun:[2,4,5],binascii:4,upgrad:[3,6,4],next:[2,6,4,5,3],findproxyforurl:4,usr:4,nghttp2_nv:[2,6,5,3],jxck:4,goawai:[2,6,4,5,3],deflat:[3,6,4],account:[3,6,4,5],retriev:[2,6,5,3],tunnel:4,nghttp2_settings_id:[3,6],sslv23_client_method:5,control:[3,6],process:[2,6,4,5,3],fprintf:[2,5],onlin:[3,4],serial:[2,6,5,3],evdns_base_fre:5,nghttp2_session_want_read:[2,6,5,3],ssl_ctx_use_privatekey_fil:2,evbas:[2,5],instead:[3,6],nullifi:[3,6],npn:[2,6,4,5,3],eventcb:[2,5],nghttp2_compression_error:[3,6],alloc:[2,6,3],bind:[0,4],nvlen:[2,6,5,3],correspond:[2,4],element:[2,6,3],issu:[0,6,3],stream_id:[2,6,4,5,3],nghttp2_connect_error:[3,6],ssize_t:[2,6,5,3],furnish:[2,6,5,1],move:[3,6],max_outlen:[3,6],therefor:[3,6,5],nghttp2_session_send:[2,6,5,3],inlen:[3,6,5],recept:[2,6,5,3],crash:3,greater:[3,6],handl:[2,6,5,3],nghttp2_goawai:[3,6],handi:5,automat:[3,6],anyth:5,uf_port:5,mode:4,ssl_filetype_pem:2,chunk:[3,6,5],nghttp2_err_temporal_callback_failur:[2,6,3],"static":[2,6,4,5,3],our:5,patch:[3,1],out:[2,1,3,4,5,6],variabl:4,req:[3,6],categori:[3,6,5],suitabl:[3,6],rel:2,field_data:5,recv_callback:[3,6],insid:4,releas:[0,1,3],could:[2,6,5,3],keep:[2,6,4,5,3],length:[2,6,4,5,3],outsid:[3,4],retain:[3,6],softwar:[2,6,5,1],addrinfo:2,date:4,prioriti:[3,6,5],unknown:[2,6,3],system:[2,5],messag:[3,6,5],attach:[2,5],termin:[2,6,4,5,3],"final":[3,6],ipv4:4,sa_handl:[2,5],enqueu:5,exactli:[2,4],nghttp2_err_header_comp:[3,6],see:[2,6,4,5,3],structur:[2,6,5,3],charact:[2,6,5,3],nghttp2_session_del:[2,6,5,3],bev:[2,5],ssl_new:[2,5],"function":[0,2,3,4,5,6],bufferevent_get_input:[2,5],fail:[3,6],have:[2,6,4,5,3],tabl:[3,6,4],need:[3,6,4,5],ai_socktyp:2,"0x04":4,"0x05":4,"0x00":4,nghttp2_err_flow_control:[3,6],nghttp2_refused_stream:[3,6],evbuffer_pullup:[2,5],which:[2,6,4,5,3],singl:[2,6,4,5,3],opaque_data_len:[3,6],unless:[3,6],bufferevent_openssl_socket_new:[2,5],settings_max_concurrent_stream:[2,6,4,5,3],stream_data:[2,5],deploi:4,"class":4,nghttp2_error_cod:[2,6,5,3],nghttp2_err_stream_id_not_avail:[3,6],url:[2,4],request:[2,6,4,5,3],uri:[4,5],pipe:2,determin:4,nghttp2_pack_settings_payload:[3,6],ssl_load_error_str:[2,5],text:4,bufferevent_get_output:[2,5],redirect:5,locat:5,should:[2,6,5,3],local:[3,6],meant:5,familiar:4,memcpi:[2,5],nghttp2_session_client_new2:[3,6],settings_initial_window_s:[3,6,4],nghttp2_data:[3,6],increas:[3,6,5],portion:[2,6,5,1,3],nghttp2_submit_respons:[2,6,3],enabl:[3,6,4],whether:[2,6,5,1],stuff:[3,6],contain:[2,6,4,5,3],nghttp2_window_upd:[3,6],frame:[2,6,4,5,3],knowledg:4,temporarili:[3,6],statu:[0,6,4,3,2],wire:[2,4,5],correctli:[3,6],nghttp2_settings_entri:[2,6,5,3],written:[2,6,4,5,3],https_uri:5,nghttp2_initial_connection_window_s:[3,6],kei:[2,6,4,3],supporet:4,entir:[2,6,3],last_stream_id:[3,6,4],addit:[2,6,3],file_read_callback:2,nghttp2_proto_version_id:[2,6,5,3],equal:2,etc:[2,4,5],instanc:[3,6],on_request_recv_callback:[2,6,3],uint16_t:[3,6,5],rfc2616:[3,6],commenc:5,respect:[3,6,5],nghttp2_recv_callback:[3,6],ssl_ctx_set_next_proto_select_cb:[3,6,5],adjsut:4,compon:5,json:4,treat:[2,6,3],nghttp2_err_invalid_argu:[3,6],immedi:[3,6],nghttp2_hcat_head:[3,6],sock_stream:2,evconnlisten:2,on_header_callback:[2,6,5,3],multi:4,defin:[2,6,5,1,3],eintr:2,helper:[3,6],libxml2:4,squid:4,select_next_proto_cb:[3,6,5],archiv:[2,5],substanti:[2,6,5,1],incom:[2,6,4,3],let:[2,5],member:[2,6,3],python:[0,4],ifndef:[6,1],dyanmic:4,http:[0,1,2,3,4,5,6],hostnam:4,uf_host:5,dealloc:4,peer_max_concurrent_stream:[3,6],off:5,well:[2,5],app_context:2,inflatehd:4,exampl:[2,6,4,5,3],command:4,error_cod:[2,6,4,5,3],nghttp2_data_sourc:[2,6,3],usual:[3,6],paus:[3,6],less:[3,6],nghttp2_on_data_recv_callback:[3,6],send_callback:[2,6,5,3],half:[3,6],obtain:[2,6,5,1],tcp:[2,5],web:[2,4],cert_fil:2,send_server_connection_head:2,priorit:[3,6],addrlen:2,add:[2,6,3],match:[2,5],gmt:4,know:[3,6],nva:[2,6,5,3],python3:4,resid:[2,5],like:[2,6,4,5,3],success:4,nghttp2_pri_lowest:[3,6],nghttp2_flag_end_head:[3,6],necessari:2,tlen:[3,6],page:[2,5],revers:4,nghttp2_session_client_new:[3,6,5],"export":2,nghttp2_session_get_effective_recv_data_length:[3,6],error_html:2,transport:5,lead:[3,6],avoid:[2,6,5,3],octet:[2,6,5,3],overlap:[3,6],isxdigit:2,outgo:[2,6,3],nghttp2_session_upgrad:[3,6],delete_http2_stream_data:[2,5],"enum":[0,6,3],usag:[2,6,4,5,3],host:[0,4,5,2],nghttp2_nv_compare_nam:[3,6],about:[2,6,5,3],actual:[2,6,5,3],socket:[2,4,5],nghttp2_gzip:[3,6],chrome:4,fals:4,ssl_tlsext_err_ok:[2,6,5,3],disabl:[3,6,4],on_data_recv_callback:[3,6],nghttp2_err_invalid_fram:[3,6],ssl_op_no_sslv2:[2,5],warranti:[2,6,5,1],automak:4,merg:[2,6,5,1],val:[2,5],ai_famili:2,transfer:[0,6,4,3],intention:[3,6],much:2,buz:4,unexpect:[3,6],bufferevent_fre:[2,5],overflow:[3,6],highest:[3,6],buf:[2,6,3],count:[3,6],succe:[3,6],nghttp2_stream_clos:[3,6],nghttp2_info:[3,6],googlecod:[3,6],displai:4,asynchron:[3,6],limit:[2,6,5,1],otherwis:[2,1,3,4,5,6],problem:[3,6],sockaddr:2,nghttp2_on_frame_not_send_callback:[3,6],strndup:5,"int":[2,6,5,3],nghttp2_flag_end_stream:[3,6],allow:[3,6,4],percent:2,detail:[3,6],other:[2,6,5,1,3],futur:[3,6],rememb:[2,5],outlen_ptr:[3,6],stat:2,err_error_str:[2,5],nghttp2_opt_peer_max_concurrent_stream:[3,6],rel_path:2,proto_str:[3,6],debian:4,session_data:[2,5],sphinx:4,eof:[2,6,3],reliabl:[3,6],indirectli:3,nghttp2_no_error:[3,6,5]},objtypes:{"0":"c:member","1":"c:macro","2":"c:type","3":"c:function"},titles:["nghttp2 - HTTP/2.0 C Library","nghttp2ver.h","Tutorial: HTTP/2.0 server","API Reference","nghttp2 - HTTP/2.0 C Library","Tutorial: HTTP/2.0 client","nghttp2.h"],objnames:{"0":["c","member","C member"],"1":["c","macro","C macro"],"2":["c","type","C type"],"3":["c","function","C function"]},filenames:["index","nghttp2ver.h","tutorial-server","apiref","package_README","tutorial-client","nghttp2.h"]}) \ No newline at end of file diff --git a/tutorial-client.html b/tutorial-client.html index b993db36..8f2561b9 100644 --- a/tutorial-client.html +++ b/tutorial-client.html @@ -700,6 +700,8 @@ here.
static http2_stream_data* create_http2_stream_data(const char *uri, struct http_parser_url *u) { + /* MAX 5 digits (max 65535) + 1 ':' + 1 NULL (because of snprintf) */ + size_t extra = 7; http2_stream_data *stream_data = malloc(sizeof(http2_stream_data)); stream_data->uri = uri; @@ -707,16 +709,14 @@ here. stream_data->stream_id = -1; stream_data->authoritylen = u->field_data[UF_HOST].len; + stream_data->authority = malloc(stream_data->authoritylen + extra); + memcpy(stream_data->authority, + &uri[u->field_data[UF_HOST].off], u->field_data[UF_HOST].len); if(u->field_set & (1 << UF_PORT)) { - /* MAX 5 digits (max 65535) + 1 ':' + 1 NULL (because of snprintf) */ - size_t extra = 7; - stream_data->authority = malloc(stream_data->authoritylen + extra); stream_data->authoritylen += snprintf(stream_data->authority + u->field_data[UF_HOST].len, extra, ":%u", u->port); } - memcpy(stream_data->authority, - &uri[u->field_data[UF_HOST].off], u->field_data[UF_HOST].len); stream_data->pathlen = 0; if(u->field_set & (1 << UF_PATH)) { diff --git a/tutorial-server.html b/tutorial-server.html index 6b9bc810..90ff26ac 100644 --- a/tutorial-server.html +++ b/tutorial-server.html @@ -301,7 +301,7 @@ underlying network socket: return; } if(events & BEV_EVENT_EOF) { - fprintf(stderr, "%s disconnected\n", session_data->client_addr); + fprintf(stderr, "%s EOF\n", session_data->client_addr); } else if(events & BEV_EVENT_ERROR) { fprintf(stderr, "%s network error\n", session_data->client_addr); } else if(events & BEV_EVENT_TIMEOUT) { @@ -936,7 +936,7 @@ stream is about to close and we no longer use that object. { http2_stream_data *stream_data; SSL *ssl = bufferevent_openssl_get_ssl(session_data->bev); - + fprintf(stderr, "%s disconnected\n", session_data->client_addr); if(ssl) { SSL_shutdown(ssl); } @@ -1319,7 +1319,7 @@ stream is about to close and we no longer use that object. return; } if(events & BEV_EVENT_EOF) { - fprintf(stderr, "%s disconnected\n", session_data->client_addr); + fprintf(stderr, "%s EOF\n", session_data->client_addr); } else if(events & BEV_EVENT_ERROR) { fprintf(stderr, "%s network error\n", session_data->client_addr); } else if(events & BEV_EVENT_TIMEOUT) {