diff --git a/apiref.html b/apiref.html index ef2cb056..768a312d 100644 --- a/apiref.html +++ b/apiref.html @@ -88,6 +88,7 @@
  • Build from git
  • Building documentation
  • Client, Server and Proxy programs
  • +
  • Benchmarking too
  • HPACK tools
  • Python bindings
  • diff --git a/genindex.html b/genindex.html index e577e606..b42599fa 100644 --- a/genindex.html +++ b/genindex.html @@ -87,6 +87,7 @@
  • Build from git
  • Building documentation
  • Client, Server and Proxy programs
  • +
  • Benchmarking tool
  • HPACK tools
  • Python bindings
  • diff --git a/index.html b/index.html index 4bcc6af0..aca38c71 100644 --- a/index.html +++ b/index.html @@ -87,6 +87,7 @@
  • Build from git
  • Building documentation
  • Client, Server and Proxy programs
  • +
  • Benchmarking tool
  • HPACK tools
  • Python bindings
  • @@ -159,6 +160,7 @@ version 2.0.

  • Build from git
  • Building documentation
  • Client, Server and Proxy programs
  • +
  • Benchmarking tool
  • HPACK tools
  • Python bindings
  • diff --git a/nghttp2.h.html b/nghttp2.h.html index 6843121c..f5afe277 100644 --- a/nghttp2.h.html +++ b/nghttp2.h.html @@ -88,6 +88,7 @@
  • Build from git
  • Building documentation
  • Client, Server and Proxy programs
  • +
  • Benchmarking too
  • HPACK tools
  • Python bindings
  • diff --git a/nghttp2ver.h.html b/nghttp2ver.h.html index 98a3e4c6..d8273eaa 100644 --- a/nghttp2ver.h.html +++ b/nghttp2ver.h.html @@ -87,6 +87,7 @@
  • Build from git
  • Building documentation
  • Client, Server and Proxy programs
  • +
  • Benchmarking too
  • HPACK tools
  • Python bindings
  • diff --git a/objects.inv b/objects.inv index 498a4352..26b9a840 100644 Binary files a/objects.inv and b/objects.inv differ diff --git a/package_README.html b/package_README.html index eb6c9edf..d88ce110 100644 --- a/package_README.html +++ b/package_README.html @@ -88,6 +88,7 @@
  • Build from git
  • Building documentation
  • Client, Server and Proxy programs
  • +
  • Benchmarking tool
  • HPACK tools
  • Python bindings
  • @@ -229,8 +230,8 @@ required:

  • libevent-openssl >= 2.0.8
  • ALPN support requires unreleased version OpenSSL >= 1.0.2.

    -

    To enable SPDY protocol in the application program nghttpx, the -following packages are required:

    +

    To enable SPDY protocol in the application program nghttpx and +h2load, the following packages are required:

    @@ -600,6 +601,40 @@ the outside HTTP/2.0 proxy through HTTP proxy:

    +
    +

    Benchmarking tool

    +

    The h2load program is a benchmarking tool for HTTP/2 and SPDY. +The SPDY support is enabled if the program was built with spdylay +library. The UI of h2load is heavily inspired by +weighttp (https://github.com/lighttpd/weighttp). The typical usage +is as follows:

    +
    $ src/h2load -n1000 -c10 -m10 https://127.0.0.1:8443/
    +starting benchmark...
    +progress: 10% done
    +progress: 20% done
    +progress: 30% done
    +progress: 40% done
    +progress: 50% done
    +progress: 60% done
    +progress: 70% done
    +progress: 80% done
    +progress: 90% done
    +progress: 100% done
    +
    +finished in 0 sec, 152 millisec and 152 microsec, 6572 req/s, 749 kbytes/s
    +requests: 1000 total, 1000 started, 1000 done, 0 succeeded, 1000 failed, 0 errored
    +status codes: 0 2xx, 0 3xx, 1000 4xx, 0 5xx
    +traffic: 141100 bytes total, 840 bytes headers, 116000 bytes data
    +
    +
    +

    The above example issued total 1000 requests, using 10 concurrent +clients (thus 10 HTTP/2 sessions), and maximum 10 streams per client.

    +
    +

    Warning

    +

    Don’t use this tool against the publicly available server. That +is considered as DOS attack.

    +
    +

    HPACK tools

    The src directory contains HPACK tools. The deflatehd is diff --git a/search.html b/search.html index 0aa6404c..3f92738c 100644 --- a/search.html +++ b/search.html @@ -94,6 +94,7 @@

  • Build from git
  • Building documentation
  • Client, Server and Proxy programs
  • +
  • Benchmarking tool
  • HPACK tools
  • Python bindings
  • diff --git a/searchindex.js b/searchindex.js index 55fe8fb3..af483511 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({envversion:42,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],op_al:4,"const":[2,6,5,3],nghttp2_submit_:[2,5],"0x20":[3,6],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,total:[3,6],unit:4,describ:[2,6,5,3],would:[3,6],call:[2,6,4,5,3],asset:4,nghttp2_on_invalid_frame_recv_callback:[3,6],nghttp2_version:[3,6,1],until:[3,6],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,4],indic:[2,6,5,3],want:[2,6,5,3],select_padding_callback:[3,6],unsign:[2,6,5,3],end:[2,6,5,3],datalen:[2,5],how:[3,6,5],nghttp2_err_fat:[3,6],sever:[2,6,4,5,3],env:4,negoti:4,nghttp2_frame_typ:[3,6],updat:[3,6],nghttp2_msg_more:6,after:[2,6,4,5,3],badli:[3,6],demonstr:5,request_path:2,third:[2,6,5,3],opaqu:[3,6],bootstrap:4,exclud:[3,6],receiv:[2,6,4,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],nghttp2_select_padding_callback:[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],top:4,nghttp2_max_header_table_s:[3,6],too:[2,6,3],similarli:[3,6],draft:[0,6,4,3],listen:[2,4],tool:[0,6,3],travers:2,awaaagqeaad__w:4,target:[3,6,4],provid:[2,1,3,4,5,6],project:[0,4],matter:[3,6],nghttp2_continu:[3,6],close:[2,6,4,5,3],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],bytesio:4,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],section:[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],involv:[3,6],explain:5,configur:[3,6,4],apach:4,nghttp2_err_invalid_stream_id:[3,6],busi:[2,5],nghttp2_flag_pad_high:[3,6],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,6,4,3],baz:4,push_promis:[2,6,3],"public":[0,6,3],nghttp2_strerror:[2,6,5,3],nghttp2_gzip_inflate_del:[3,6],bufferevent_ssl_accept:2,serve_forev:4,nul:[3,6],result:[2,5],respons:[2,6,4,5,3],fail:[3,6],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,enhance_your_calm:[3,6],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],chrome:4,max_deflate_s:4,been:[2,6,5,3],github:[0,4],much:[2,6,3],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],load_cert_chain:4,ssl_op_no_compress:[2,5],nghttp2_settings_initial_window_s:[3,6],zlib:4,nghttp2_on_begin_headers_callback:[3,6,5],bev_event_timeout:[2,5],bufferevent_socket_connect_hostnam:5,nghttp2_inadequate_secur:[3,6],nghttp2_set:[3,6],promised_stream_id:[3,6],conf:4,pointer:[2,6,3],on_data:4,perform:[2,6,4,3],make:[2,6,4,3],transpar:[3,6],headlen:[3,6],split:[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,6,3],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:[3,6,5],underli:[2,5],www:[3,6],right:[2,6,5,1],deal:[2,6,5,1,3],intern:[3,6],successfulli:[2,6,5,3],transmiss:[2,6,5,3],requesthandlerclass:4,ni_numerichost:2,bottom:[3,6],nghttp2_data_source_read_callback:[3,6],subclass:4,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],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],git:[0,6,3],session_send:[2,5],wai:[3,6,4],support:[2,6,4,5,3],verbos:4,overhead:4,lowest:[3,6],head:[2,6,3],form:[3,6,4],offer:4,bev_event_connect:[2,5],"true":4,hddeflat:4,ssl_ctx_free:[2,5],maximum:[3,6,4],tell:[2,6,5,3],deafult:4,autoconf:4,emit:[2,6,5,3],nghttp2_initial_window_s:[3,6],featur:4,httpbi:[0,6,4,3],netdb:2,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],nghttp2_check_header_valu:[3,6],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],nghttp2_check_header_nam:[3,6],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,upper:[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],onli:[2,6,4,5,3],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],handler:4,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,critic:[3,6],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],sslcontext:4,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],talk:[2,4],nghttp2_err_stream_shut_wr:[3,6],size_t:[2,6,5,3],nghttp2_err_unsupported_vers:[3,6],still:[2,6,4,3],nghttp2_settings_entri:[2,6,5,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],"0x000400":1,name:[2,6,4,5,3],version_num:[3,6],config:4,no_error:4,revers:4,replac:[3,6],individu:[3,6],continu:[2,6,5,3],event_base_loop:[2,5],turoti:5,happen:[2,4,5],ai_addrlen:2,space:[3,6,4],output_length:4,earlier:[2,5],event_base_new:[2,5],argv:[2,5],org:[0,6,4,3],"byte":[2,6,4,5,3],argc:[2,5],care:[3,6],nghttp2_opt_no_auto_connection_window_upd:[3,6],nghttp2ver:[0,6,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_is_fat:[3,6],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,4],necessarili:[3,6],sigpip:[2,5],internal_error:[3,6],conveni:[3,6],knowledg:4,copi:[2,6,5,1,3],specifi:[2,6,4,5,3],on_head: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],browser:4,fork:4,sai:[3,6],pri:[3,6],ani:[2,1,3,4,5,6],deliv:[3,6],sat:4,bitwis:[3,6],event_bas:[2,5],nghttp2_flag_prior:[3,6],destroi:[2,5],payloadlen:[3,6],note:[2,6,4,5,3],take:[2,6,4,5,3],properti:[2,5],noth:[3,6,4],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,pad_high:[3,6],end_seg:[3,6,4],written:[2,6,4,5,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],requir:[0,6,3],nghttp2_set_stream_user_data:2,nghttp2_frame_size_error:[3,6],op_no_sslv2:4,detect:[3,6,4],"import":4,fcntl:2,pipefd:2,evdns_bas:5,submit_request:5,region:[3,6],contract:[2,6,5,1],tutori:0,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],http2server:4,header_table_s:4,nghttp2_settings_max:[3,6],"abstract":[2,5],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,4,5,3],invoc:[2,6,3],on_data_chunk_recv_callback:[3,6,5],stdout:[4,5],ascii:[3,6],develop:0,author:[2,6,4,5,1],bev_opt_defer_callback:[2,5],alphabet:[3,6],same:[2,6,4,5,3],ssl_library_init:[2,5],binari:5,pac:4,pad:[3,6,4],document:[0,6,1],finish:[2,5],decompress:[3,6,4],handshake_leftlen:2,extern:6,postpon:[3,6],ai_next:2,without:[2,1,3,4,5,6],nghttp2_push_promis:[3,6],on_request_don:4,event2:[2,5],nghttp2_err_def:[3,6],nghttp2_submit_set:[2,6,5,3],execut:4,multiplex:[2,4],hint:2,except:[3,6],identif:[3,6],nghttp2_select_next_protocol:[3,6,5],real:5,read:[2,6,4,5,3],nghttp2_version_ag:[3,6],rfc2616:[3,6],test:0,next_proto_cb:2,integ:[3,6],server:[0,6,3],either:[2,6,3],output:[2,6,4,5,3],manag:[2,6,3],stream_clos:[3,6],protocol_sslv23:4,ssl_ctx_set_next_protos_advertised_cb:2,handshak:[2,5],nonzero:[2,6,3],easili:5,exit:[2,5],data_ptr:[3,6],freed:4,base64url:[3,6],inspect:[3,6],found:[2,6,3],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],ipv4:4,lot:[3,6],ipv6:4,strictli:[3,6],next_proto_list:2,nghttp2_proto_version_id_len:[2,6,3],tupl:4,nghttp2_err_invalid_st:[3,6],nghttp2_flag_end_seg:[3,6],possibl:[2,6,5,3],"default":[2,6,4,3],applayerprotoneg:[3,6],hpack:0,expect:4,creat:[2,6,4,5,3],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],intention:[3,6],sequenc:[2,6,4,5,3],promised_stream_user_data:[3,6],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],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,bufferevent_writ:[2,5],uf_queri:5,fals:4,pad_low:[3,6],settings_header_table_s:[3,6],nghttp2_client_connection_header_len:[2,6,5,3],failur:[3,6],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:3,method:[2,6,4,5,3],libjansson:4,padlen:[3,6,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],on_clos:4,prior:4,amount:[2,5],action:[2,6,5,1,3],via:[2,6,4,5,3],primit:5,ask:[3,6],famili:[2,5],establish:[2,5],select:[3,6,5],regist:2,libev:[0,4],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],none:4,endpoint:[3,6,4],dev:[4,1],remain:[2,6,5,3],def:4,share:[3,6,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],css:4,resourc:3,referenc:4,variant:[3,6],spdylai:4,associ:[2,1,3,4,5,6],"short":[2,5],caus:[3,6],callback:[2,6,4,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],fulli:2,trailer:[3,6],nghttp2_on_frame_send_callback:[3,6],monoton:5,realli:5,connect:[2,1,3,4,5,6],field_set:5,event:[2,6,4,5,1],app_ctx:2,ftw:4,publish:[2,6,5,1],payload:[3,6],etag:4,print:[4,5],on_frame_not_send_callback:[3,6],proxi:0,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,prevent:[3,6],number:[2,6,1,3],"0x8":[3,6],done:[2,4,5],construct:[3,6,4],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],memcmp:2,nghttp2_client_connection_head:[2,6,5,3],pars:5,kind:[2,6,5,1,3],doubli:2,remot:[2,6,5,3],remov:[2,6,3],bridg:4,consumpt:[2,5],nghttp2_error:[3,6],window_size_incr:[3,6],lib_error_cod:[3,6],arrlen:[2,5],packag:4,"null":[2,6,5,3],syn_stream:[3,6],sell:[2,6,5,1],outbound:[3,6],equival:[3,6],afram:[3,6],also:[2,6,5,3],build:0,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],charg:[2,6,5,1],addr:2,"01881f3468e5891afcbf83868a3d856659c62e3f":4,compar:[3,6,5],frame_size_error:[3,6],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],liabl:[2,6,5,1],before_frame_send_callback:[3,6,5],retreiv:5,crt:[2,4],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],reserv:[3,6],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],disallow:4,percent_decod:2,closur:[3,6,5],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,4],simpli:[2,5],send_server_connection_head:2,header:[0,6,3],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,4],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,4,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],person:[2,6,5,1],uint32_t:[3,6],self:4,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,on_begin_headers_callback:[2,6,5,3],format:[2,6,4,5,3],http_parser:5,bit:[3,6,1],strstr:2,foobarbuzz:4,signal:[2,6,5,3],lib_error:[3,6],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],from:[0,6,1,3],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,"long":[3,6],nghttp2:3,forward:4,session_ptr:[3,6],repeatedli:[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],clear:[3,6],parser:5,repres:[3,6],"char":[2,6,5,3],incomplet:4,sublen:2,titl:2,invalid:[3,6],librari:3,libtool:4,create_http2_stream_data:[2,5],nghttp2_flag_pad_low:[3,6],algorithm:[3,6],nghttp2_submit_request:[3,6,5],namelen:[2,6,5,3],far:[2,5],asyncio:4,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,pleas:[2,6,4,5,3],impli:[2,6,5,1],smaller:4,snprintf:5,"0x2":[3,6],"0x1":[3,6],"0x0":[3,6],"0x4":[3,6],download:[0,4],client_address:4,index:4,o_rdonli:2,access:[3,6,4],experiment:[0,4],nghttp2_session_server_new:[2,6,3],ssl_ctx_set_opt:[2,5],nghttp2_enhance_your_calm:[3,6],len:[2,6,5,3],bodi:[2,6,4,5,3],nghttp2_rst_stream:[3,6],ubuntu:4,becom:[2,6,1,3],sinc:[2,6,4,5,3],larger:[3,6],ctx:4,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],feb:4,commun:[2,4,5],binascii:4,upgrad:[3,6,4],next:[2,6,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],about:[2,6,5,3],aliv:[2,6,3],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],max_payloadlen:[3,6],eventcb:[2,5],nghttp2_compression_error:[3,6],alloc:[2,6,3],bind:0,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,4,5,3],nghttp2_goawai:[3,6],handi:5,ssl_op_no_sslv2:[2,5],nghttp2_session_mem_send:[3,6],anyth:5,uf_port:5,mode:4,ssl_filetype_pem:2,chunk:[3,6,4,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: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],strict:4,unknown:[2,6,3],system:[2,5],messag:[3,6,5],attach:[2,5],termin:[2,6,4,5,3],low:[3,6],request_head: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],bufferevent_get_input:[2,5],corrupt:5,have:[2,6,4,5,3],tabl:[3,6,4],need:[3,6,4,5],ai_socktyp:2,"0x04":4,"0x05":4,"0x00":[3,6,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],"0x0d":[3,6],"0x0a":[3,6],ssl_load_error_str:[2,5],text:4,bufferevent_get_output:[2,5],redirect:5,locat:5,should:[2,6,4,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:[2,6,3],increas:[3,6,5],portion:[2,6,5,1,3],nghttp2_submit_respons:[2,6,3],enabl: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],ssl_ctx:[2,6,5,3],temporarili:[3,6],statu:[0,6,3],wire:[2,4,5],correctli:[3,6],mainli:[3,6],state:[2,6,4,3],https_uri:5,nghttp2_initial_connection_window_s:[3,6],kei:[2,6,4,3],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,4],uint16_t:[3,6,5],arriv:4,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],both:[2,6,4,5,3],sock_stream:2,evconnlisten:2,on_header_callback:[2,6,5,3],multi:4,plain:4,defin:[2,6,5,1,3],eintr:2,inadequate_secur:[3,6],helper:[3,6],on_request_recv:2,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,ifndef:[6,1],dyanmic:4,http:3,hostnam:4,uf_host:5,dealloc:4,peer_max_concurrent_stream:[3,6],off:5,well:[2,5],app_context:2,"0x10":[3,6],exampl:[2,6,4,5,3],command:4,choos:[3,6],error_cod:[2,6,4,5,3],nghttp2_data_sourc:[2,6,3],usual:[3,6],paus:[3,6],less:[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,point:[2,6,5,3],priorit:[3,6],addrlen:2,add:[2,6,3],match:[2,5],gmt:4,nvu: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,6,3],tlen:[3,6],page:[2,5],drop:[2,6,5,3],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,5],overlap:[3,6],isxdigit:2,outgo:[2,6,3],nghttp2_session_upgrad:[3,6],delete_http2_stream_data:[2,5],usag:[2,6,4,5,3],host:[0,4,5,2],nghttp2_nv_compare_nam:[3,6],err_get_error:[2,5],actual:[2,6,5,3],socket:[2,4,5],nghttp2_gzip:[3,6],ssl_tlsext_err_ok:[2,6,5,3],disabl:[3,6,4],own:[3,6],nghttp2_err_invalid_fram:[3,6],automat:[3,6],warranti:[2,6,5,1],automak:4,merg:[2,6,5,1],val:[2,5],ai_famili:2,transfer:[0,6,4,3],bump:[3,6],trigger:[3,6],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,6,5,1,3],problem:[3,6],sockaddr:2,nghttp2_on_frame_not_send_callback:[3,6],strndup:5,"int":[2,6,5,3],baserequesthandl:4,nghttp2_flag_end_stream:[2,6,3],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,rule:[3,6],nghttp2_no_error:[3,6,5]},objtypes:{"0":"c:member","1":"c:macro","2":"c:type","3":"c:function"},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"],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"],objects:{"":{NGHTTP2_ERR_INVALID_STATE:[3,1,1,"c.NGHTTP2_ERR_INVALID_STATE"],NGHTTP2_ERR_HEADER_COMP:[3,1,1,"c.NGHTTP2_ERR_HEADER_COMP"],NGHTTP2_SETTINGS_HEADER_TABLE_SIZE:[3,1,1,"c.NGHTTP2_SETTINGS_HEADER_TABLE_SIZE"],nghttp2_settings_entry:[3,2,1,"c.nghttp2_settings_entry"],NGHTTP2_INTERNAL_ERROR:[3,1,1,"c.NGHTTP2_INTERNAL_ERROR"],NGHTTP2_PRI_LOWEST:[3,1,1,"c.NGHTTP2_PRI_LOWEST"],nghttp2_on_frame_recv_callback:[3,2,1,"c.nghttp2_on_frame_recv_callback"],NGHTTP2_CLIENT_CONNECTION_HEADER_LEN:[3,1,1,"c.NGHTTP2_CLIENT_CONNECTION_HEADER_LEN"],nghttp2_goaway:[3,2,1,"c.nghttp2_goaway"],nghttp2_ping:[3,2,1,"c.nghttp2_ping"],NGHTTP2_ERR_INVALID_FRAME:[3,1,1,"c.NGHTTP2_ERR_INVALID_FRAME"],nghttp2_frame_type:[3,2,1,"c.nghttp2_frame_type"],NGHTTP2_ERR_INVALID_STREAM_ID:[3,1,1,"c.NGHTTP2_ERR_INVALID_STREAM_ID"],nghttp2_select_next_protocol:[3,3,1,"c.nghttp2_select_next_protocol"],NGHTTP2_ERR_INVALID_HEADER_BLOCK:[3,1,1,"c.NGHTTP2_ERR_INVALID_HEADER_BLOCK"],nghttp2_session_callbacks:[3,2,1,"c.nghttp2_session_callbacks"],NGHTTP2_ERR_TOO_MANY_INFLIGHT_SETTINGS:[3,1,1,"c.NGHTTP2_ERR_TOO_MANY_INFLIGHT_SETTINGS"],NGHTTP2_ERR_PROTO:[3,1,1,"c.NGHTTP2_ERR_PROTO"],NGHTTP2_MAX_HEADER_TABLE_SIZE:[3,1,1,"c.NGHTTP2_MAX_HEADER_TABLE_SIZE"],nghttp2_submit_window_update:[3,3,1,"c.nghttp2_submit_window_update"],NGHTTP2_ERR_UNSUPPORTED_VERSION:[3,1,1,"c.NGHTTP2_ERR_UNSUPPORTED_VERSION"],NGHTTP2_SETTINGS_ENABLE_PUSH:[3,1,1,"c.NGHTTP2_SETTINGS_ENABLE_PUSH"],nghttp2_window_update:[3,2,1,"c.nghttp2_window_update"],nghttp2_session_client_new2:[3,3,1,"c.nghttp2_session_client_new2"],NGHTTP2_DATA:[3,1,1,"c.NGHTTP2_DATA"],nghttp2_frame_hd:[3,2,1,"c.nghttp2_frame_hd"],NGHTTP2_ERR_INVALID_STREAM_STATE:[3,1,1,"c.NGHTTP2_ERR_INVALID_STREAM_STATE"],nghttp2_on_header_callback:[3,2,1,"c.nghttp2_on_header_callback"],NGHTTP2_FLAG_ACK:[3,1,1,"c.NGHTTP2_FLAG_ACK"],NGHTTP2_STREAM_CLOSED:[3,1,1,"c.NGHTTP2_STREAM_CLOSED"],NGHTTP2_SETTINGS_MAX:[3,1,1,"c.NGHTTP2_SETTINGS_MAX"],NGHTTP2_MAX_WINDOW_SIZE:[3,1,1,"c.NGHTTP2_MAX_WINDOW_SIZE"],nghttp2_headers_category:[3,2,1,"c.nghttp2_headers_category"],nghttp2_session_mem_send:[3,3,1,"c.nghttp2_session_mem_send"],nghttp2_error_code:[3,2,1,"c.nghttp2_error_code"],NGHTTP2_REFUSED_STREAM:[3,1,1,"c.NGHTTP2_REFUSED_STREAM"],nghttp2_on_data_chunk_recv_callback:[3,2,1,"c.nghttp2_on_data_chunk_recv_callback"],NGHTTP2_ERR_START_STREAM_NOT_ALLOWED:[3,1,1,"c.NGHTTP2_ERR_START_STREAM_NOT_ALLOWED"],NGHTTP2_ERR_FLOW_CONTROL:[3,1,1,"c.NGHTTP2_ERR_FLOW_CONTROL"],nghttp2_strerror:[3,3,1,"c.nghttp2_strerror"],nghttp2_gzip_inflate_del:[3,3,1,"c.nghttp2_gzip_inflate_del"],NGHTTP2_ERR_FATAL:[3,1,1,"c.NGHTTP2_ERR_FATAL"],nghttp2_submit_goaway:[3,3,1,"c.nghttp2_submit_goaway"],nghttp2_error:[3,2,1,"c.nghttp2_error"],NGHTTP2_INITIAL_CONNECTION_WINDOW_SIZE:[3,1,1,"c.NGHTTP2_INITIAL_CONNECTION_WINDOW_SIZE"],NGHTTP2_ERR_NOMEM:[3,1,1,"c.NGHTTP2_ERR_NOMEM"],NGHTTP2_ERR_PAUSE:[3,1,1,"c.NGHTTP2_ERR_PAUSE"],NGHTTP2_ENHANCE_YOUR_CALM:[3,1,1,"c.NGHTTP2_ENHANCE_YOUR_CALM"],NGHTTP2_NO_ERROR:[3,1,1,"c.NGHTTP2_NO_ERROR"],nghttp2_select_padding_callback:[3,2,1,"c.nghttp2_select_padding_callback"],NGHTTP2_OPT_PEER_MAX_CONCURRENT_STREAMS:[3,1,1,"c.NGHTTP2_OPT_PEER_MAX_CONCURRENT_STREAMS"],nghttp2_session_server_new2:[3,3,1,"c.nghttp2_session_server_new2"],NGHTTP2_ERR_DEFERRED:[3,1,1,"c.NGHTTP2_ERR_DEFERRED"],nghttp2_push_promise:[3,2,1,"c.nghttp2_push_promise"],NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE:[3,1,1,"c.NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE"],nghttp2_session_get_outbound_queue_size:[3,3,1,"c.nghttp2_session_get_outbound_queue_size"],NGHTTP2_PROTO_VERSION_ID_LEN:[3,1,1,"c.NGHTTP2_PROTO_VERSION_ID_LEN"],NGHTTP2_INITIAL_MAX_CONCURRENT_STREAMS:[3,1,1,"c.NGHTTP2_INITIAL_MAX_CONCURRENT_STREAMS"],nghttp2_data_source_read_callback:[3,2,1,"c.nghttp2_data_source_read_callback"],NGHTTP2_SETTINGS_TIMEOUT:[3,1,1,"c.NGHTTP2_SETTINGS_TIMEOUT"],NGHTTP2_ERR_WOULDBLOCK:[3,1,1,"c.NGHTTP2_ERR_WOULDBLOCK"],nghttp2_submit_push_promise:[3,3,1,"c.nghttp2_submit_push_promise"],nghttp2_session_resume_data:[3,3,1,"c.nghttp2_session_resume_data"],NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE:[3,1,1,"c.NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE"],NGHTTP2_PRI_DEFAULT:[3,1,1,"c.NGHTTP2_PRI_DEFAULT"],nghttp2_session_server_new:[3,3,1,"c.nghttp2_session_server_new"],NGHTTP2_CONTINUATION:[3,1,1,"c.NGHTTP2_CONTINUATION"],nghttp2_rst_stream:[3,2,1,"c.nghttp2_rst_stream"],NGHTTP2_ERR_INVALID_ARGUMENT:[3,1,1,"c.NGHTTP2_ERR_INVALID_ARGUMENT"],NGHTTP2_ERR_FRAME_SIZE_ERROR:[3,1,1,"c.NGHTTP2_ERR_FRAME_SIZE_ERROR"],nghttp2_session_del:[3,3,1,"c.nghttp2_session_del"],nghttp2_session_mem_recv:[3,3,1,"c.nghttp2_session_mem_recv"],nghttp2_flag:[3,2,1,"c.nghttp2_flag"],NGHTTP2_OPT_NO_AUTO_STREAM_WINDOW_UPDATE:[3,1,1,"c.NGHTTP2_OPT_NO_AUTO_STREAM_WINDOW_UPDATE"],NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS:[3,1,1,"c.NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS"],NGHTTP2_HCAT_REQUEST:[3,1,1,"c.NGHTTP2_HCAT_REQUEST"],NGHTTP2_FLAG_END_HEADERS:[3,1,1,"c.NGHTTP2_FLAG_END_HEADERS"],nghttp2_gzip:[3,2,1,"c.nghttp2_gzip"],NGHTTP2_FLAG_END_STREAM:[3,1,1,"c.NGHTTP2_FLAG_END_STREAM"],NGHTTP2_ERR_EOF:[3,1,1,"c.NGHTTP2_ERR_EOF"],NGHTTP2_HCAT_HEADERS:[3,1,1,"c.NGHTTP2_HCAT_HEADERS"],NGHTTP2_VERSION_NUM:[3,1,1,"c.NGHTTP2_VERSION_NUM"],NGHTTP2_SETTINGS:[3,1,1,"c.NGHTTP2_SETTINGS"],nghttp2_frame:[3,2,1,"c.nghttp2_frame"],NGHTTP2_FLAG_END_SEGMENT:[3,1,1,"c.NGHTTP2_FLAG_END_SEGMENT"],NGHTTP2_ERR_DEFERRED_DATA_EXIST:[3,1,1,"c.NGHTTP2_ERR_DEFERRED_DATA_EXIST"],NGHTTP2_CANCEL:[3,1,1,"c.NGHTTP2_CANCEL"],nghttp2_send_callback:[3,2,1,"c.nghttp2_send_callback"],nghttp2_on_frame_send_callback:[3,2,1,"c.nghttp2_on_frame_send_callback"],NGHTTP2_HEADERS:[3,1,1,"c.NGHTTP2_HEADERS"],NGHTTP2_VERSION:[3,1,1,"c.NGHTTP2_VERSION"],nghttp2_opt_set:[3,2,1,"c.nghttp2_opt_set"],NGHTTP2_FLAG_PAD_HIGH:[3,1,1,"c.NGHTTP2_FLAG_PAD_HIGH"],nghttp2_session:[3,2,1,"c.nghttp2_session"],NGHTTP2_COMPRESSION_ERROR:[3,1,1,"c.NGHTTP2_COMPRESSION_ERROR"],NGHTTP2_HCAT_PUSH_RESPONSE:[3,1,1,"c.NGHTTP2_HCAT_PUSH_RESPONSE"],nghttp2_submit_rst_stream:[3,3,1,"c.nghttp2_submit_rst_stream"],nghttp2_submit_headers:[3,3,1,"c.nghttp2_submit_headers"],nghttp2_recv_callback:[3,2,1,"c.nghttp2_recv_callback"],nghttp2_session_get_stream_user_data:[3,3,1,"c.nghttp2_session_get_stream_user_data"],NGHTTP2_FLAG_PRIORITY:[3,1,1,"c.NGHTTP2_FLAG_PRIORITY"],nghttp2_nv:[3,2,1,"c.nghttp2_nv"],nghttp2_on_invalid_frame_recv_callback:[3,2,1,"c.nghttp2_on_invalid_frame_recv_callback"],nghttp2_version:[3,3,1,"c.nghttp2_version"],nghttp2_on_unknown_frame_recv_callback:[3,2,1,"c.nghttp2_on_unknown_frame_recv_callback"],NGHTTP2_ERR_STREAM_CLOSED:[3,1,1,"c.NGHTTP2_ERR_STREAM_CLOSED"],nghttp2_opt:[3,2,1,"c.nghttp2_opt"],NGHTTP2_ERR_CALLBACK_FAILURE:[3,1,1,"c.NGHTTP2_ERR_CALLBACK_FAILURE"],NGHTTP2_ERR_GOAWAY_ALREADY_SENT:[3,1,1,"c.NGHTTP2_ERR_GOAWAY_ALREADY_SENT"],NGHTTP2_FLOW_CONTROL_ERROR:[3,1,1,"c.NGHTTP2_FLOW_CONTROL_ERROR"],nghttp2_session_set_stream_user_data:[3,3,1,"c.nghttp2_session_set_stream_user_data"],nghttp2_check_header_value:[3,3,1,"c.nghttp2_check_header_value"],NGHTTP2_ERR_STREAM_CLOSING:[3,1,1,"c.NGHTTP2_ERR_STREAM_CLOSING"],NGHTTP2_INADEQUATE_SECURITY:[3,1,1,"c.NGHTTP2_INADEQUATE_SECURITY"],nghttp2_session_client_new:[3,3,1,"c.nghttp2_session_client_new"],nghttp2_check_header_name:[3,3,1,"c.nghttp2_check_header_name"],nghttp2_info:[3,2,1,"c.nghttp2_info"],NGHTTP2_PROTO_VERSION_ID:[3,1,1,"c.NGHTTP2_PROTO_VERSION_ID"],nghttp2_settings_id:[3,2,1,"c.nghttp2_settings_id"],nghttp2_session_send:[3,3,1,"c.nghttp2_session_send"],NGHTTP2_PROTOCOL_ERROR:[3,1,1,"c.NGHTTP2_PROTOCOL_ERROR"],nghttp2_gzip_inflate:[3,3,1,"c.nghttp2_gzip_inflate"],nghttp2_session_upgrade:[3,3,1,"c.nghttp2_session_upgrade"],nghttp2_on_begin_headers_callback:[3,2,1,"c.nghttp2_on_begin_headers_callback"],NGHTTP2_ERR_INSUFF_BUFSIZE:[3,1,1,"c.NGHTTP2_ERR_INSUFF_BUFSIZE"],nghttp2_settings:[3,2,1,"c.nghttp2_settings"],nghttp2_on_frame_not_send_callback:[3,2,1,"c.nghttp2_on_frame_not_send_callback"],nghttp2_session_get_effective_recv_data_length:[3,3,1,"c.nghttp2_session_get_effective_recv_data_length"],nghttp2_submit_data:[3,3,1,"c.nghttp2_submit_data"],nghttp2_submit_response:[3,3,1,"c.nghttp2_submit_response"],NGHTTP2_CLIENT_CONNECTION_HEADER:[3,1,1,"c.NGHTTP2_CLIENT_CONNECTION_HEADER"],NGHTTP2_FLAG_NONE:[3,1,1,"c.NGHTTP2_FLAG_NONE"],nghttp2_session_terminate_session:[3,3,1,"c.nghttp2_session_terminate_session"],nghttp2_submit_settings:[3,3,1,"c.nghttp2_submit_settings"],NGHTTP2_HCAT_RESPONSE:[3,1,1,"c.NGHTTP2_HCAT_RESPONSE"],NGHTTP2_PING:[3,1,1,"c.NGHTTP2_PING"],NGHTTP2_OPT_NO_AUTO_CONNECTION_WINDOW_UPDATE:[3,1,1,"c.NGHTTP2_OPT_NO_AUTO_CONNECTION_WINDOW_UPDATE"],nghttp2_priority:[3,2,1,"c.nghttp2_priority"],nghttp2_session_want_read:[3,3,1,"c.nghttp2_session_want_read"],NGHTTP2_VERSION_AGE:[3,1,1,"c.NGHTTP2_VERSION_AGE"],NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE:[3,1,1,"c.NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE"],NGHTTP2_CONNECT_ERROR:[3,1,1,"c.NGHTTP2_CONNECT_ERROR"],NGHTTP2_RST_STREAM:[3,1,1,"c.NGHTTP2_RST_STREAM"],nghttp2_on_stream_close_callback:[3,2,1,"c.nghttp2_on_stream_close_callback"],NGHTTP2_PUSH_PROMISE:[3,1,1,"c.NGHTTP2_PUSH_PROMISE"],nghttp2_data_provider:[3,2,1,"c.nghttp2_data_provider"],NGHTTP2_ERR_PUSH_DISABLED:[3,1,1,"c.NGHTTP2_ERR_PUSH_DISABLED"],nghttp2_session_recv:[3,3,1,"c.nghttp2_session_recv"],nghttp2_session_get_effective_local_window_size:[3,3,1,"c.nghttp2_session_get_effective_local_window_size"],NGHTTP2_INITIAL_WINDOW_SIZE:[3,1,1,"c.NGHTTP2_INITIAL_WINDOW_SIZE"],NGHTTP2_WINDOW_UPDATE:[3,1,1,"c.NGHTTP2_WINDOW_UPDATE"],nghttp2_session_want_write:[3,3,1,"c.nghttp2_session_want_write"],nghttp2_submit_priority:[3,3,1,"c.nghttp2_submit_priority"],nghttp2_session_get_stream_effective_local_window_size:[3,3,1,"c.nghttp2_session_get_stream_effective_local_window_size"],nghttp2_headers:[3,2,1,"c.nghttp2_headers"],nghttp2_before_frame_send_callback:[3,2,1,"c.nghttp2_before_frame_send_callback"],NGHTTP2_GOAWAY:[3,1,1,"c.NGHTTP2_GOAWAY"],NGHTTP2_ERR_GZIP:[3,1,1,"c.NGHTTP2_ERR_GZIP"],nghttp2_is_fatal:[3,3,1,"c.nghttp2_is_fatal"],NGHTTP2_FLAG_PAD_LOW:[3,1,1,"c.NGHTTP2_FLAG_PAD_LOW"],nghttp2_submit_ping:[3,3,1,"c.nghttp2_submit_ping"],NGHTTP2_FRAME_SIZE_ERROR:[3,1,1,"c.NGHTTP2_FRAME_SIZE_ERROR"],nghttp2_data_source:[3,2,1,"c.nghttp2_data_source"],NGHTTP2_ERR_STREAM_SHUT_WR:[3,1,1,"c.NGHTTP2_ERR_STREAM_SHUT_WR"],NGHTTP2_PRIORITY:[3,1,1,"c.NGHTTP2_PRIORITY"],nghttp2_submit_request:[3,3,1,"c.nghttp2_submit_request"],nghttp2_session_get_stream_effective_recv_data_length:[3,3,1,"c.nghttp2_session_get_stream_effective_recv_data_length"],nghttp2_pack_settings_payload:[3,3,1,"c.nghttp2_pack_settings_payload"],nghttp2_data:[3,2,1,"c.nghttp2_data"],nghttp2_gzip_inflate_new:[3,3,1,"c.nghttp2_gzip_inflate_new"],nghttp2_nv_compare_name:[3,3,1,"c.nghttp2_nv_compare_name"]},nghttp2_session_callbacks:{on_invalid_frame_recv_callback:[3,0,1,"c.nghttp2_session_callbacks.on_invalid_frame_recv_callback"],before_frame_send_callback:[3,0,1,"c.nghttp2_session_callbacks.before_frame_send_callback"],on_stream_close_callback:[3,0,1,"c.nghttp2_session_callbacks.on_stream_close_callback"],on_data_chunk_recv_callback:[3,0,1,"c.nghttp2_session_callbacks.on_data_chunk_recv_callback"],on_begin_headers_callback:[3,0,1,"c.nghttp2_session_callbacks.on_begin_headers_callback"],send_callback:[3,0,1,"c.nghttp2_session_callbacks.send_callback"],on_unknown_frame_recv_callback:[3,0,1,"c.nghttp2_session_callbacks.on_unknown_frame_recv_callback"],on_header_callback:[3,0,1,"c.nghttp2_session_callbacks.on_header_callback"],on_frame_recv_callback:[3,0,1,"c.nghttp2_session_callbacks.on_frame_recv_callback"],select_padding_callback:[3,0,1,"c.nghttp2_session_callbacks.select_padding_callback"],on_frame_not_send_callback:[3,0,1,"c.nghttp2_session_callbacks.on_frame_not_send_callback"],on_frame_send_callback:[3,0,1,"c.nghttp2_session_callbacks.on_frame_send_callback"],recv_callback:[3,0,1,"c.nghttp2_session_callbacks.recv_callback"]},nghttp2_frame:{push_promise:[3,0,1,"c.nghttp2_frame.push_promise"],settings:[3,0,1,"c.nghttp2_frame.settings"],ping:[3,0,1,"c.nghttp2_frame.ping"],rst_stream:[3,0,1,"c.nghttp2_frame.rst_stream"],priority:[3,0,1,"c.nghttp2_frame.priority"],headers:[3,0,1,"c.nghttp2_frame.headers"],goaway:[3,0,1,"c.nghttp2_frame.goaway"],window_update:[3,0,1,"c.nghttp2_frame.window_update"],data:[3,0,1,"c.nghttp2_frame.data"],hd:[3,0,1,"c.nghttp2_frame.hd"]},nghttp2_ping:{hd:[3,0,1,"c.nghttp2_ping.hd"]},nghttp2_data_provider:{source:[3,0,1,"c.nghttp2_data_provider.source"],read_callback:[3,0,1,"c.nghttp2_data_provider.read_callback"]},nghttp2_priority:{pri:[3,0,1,"c.nghttp2_priority.pri"],hd:[3,0,1,"c.nghttp2_priority.hd"]},nghttp2_settings_entry:{settings_id:[3,0,1,"c.nghttp2_settings_entry.settings_id"],value:[3,0,1,"c.nghttp2_settings_entry.value"]},nghttp2_window_update:{hd:[3,0,1,"c.nghttp2_window_update.hd"],window_size_increment:[3,0,1,"c.nghttp2_window_update.window_size_increment"]},nghttp2_frame_hd:{stream_id:[3,0,1,"c.nghttp2_frame_hd.stream_id"],length:[3,0,1,"c.nghttp2_frame_hd.length"],flags:[3,0,1,"c.nghttp2_frame_hd.flags"],type:[3,0,1,"c.nghttp2_frame_hd.type"]},nghttp2_data:{padlen:[3,0,1,"c.nghttp2_data.padlen"]},nghttp2_info:{age:[3,0,1,"c.nghttp2_info.age"],version_str:[3,0,1,"c.nghttp2_info.version_str"],version_num:[3,0,1,"c.nghttp2_info.version_num"],proto_str:[3,0,1,"c.nghttp2_info.proto_str"]},nghttp2_rst_stream:{error_code:[3,0,1,"c.nghttp2_rst_stream.error_code"],hd:[3,0,1,"c.nghttp2_rst_stream.hd"]},nghttp2_nv:{valuelen:[3,0,1,"c.nghttp2_nv.valuelen"],namelen:[3,0,1,"c.nghttp2_nv.namelen"],name:[3,0,1,"c.nghttp2_nv.name"],value:[3,0,1,"c.nghttp2_nv.value"]},nghttp2_headers:{pri:[3,0,1,"c.nghttp2_headers.pri"],nvlen:[3,0,1,"c.nghttp2_headers.nvlen"],cat:[3,0,1,"c.nghttp2_headers.cat"],padlen:[3,0,1,"c.nghttp2_headers.padlen"],nva:[3,0,1,"c.nghttp2_headers.nva"],hd:[3,0,1,"c.nghttp2_headers.hd"]},nghttp2_opt_set:{no_auto_stream_window_update:[3,0,1,"c.nghttp2_opt_set.no_auto_stream_window_update"],peer_max_concurrent_streams:[3,0,1,"c.nghttp2_opt_set.peer_max_concurrent_streams"],no_auto_connection_window_update:[3,0,1,"c.nghttp2_opt_set.no_auto_connection_window_update"]},nghttp2_goaway:{opaque_data:[3,0,1,"c.nghttp2_goaway.opaque_data"],error_code:[3,0,1,"c.nghttp2_goaway.error_code"],opaque_data_len:[3,0,1,"c.nghttp2_goaway.opaque_data_len"],hd:[3,0,1,"c.nghttp2_goaway.hd"],last_stream_id:[3,0,1,"c.nghttp2_goaway.last_stream_id"]},nghttp2_data_source:{fd:[3,0,1,"c.nghttp2_data_source.fd"],ptr:[3,0,1,"c.nghttp2_data_source.ptr"]},nghttp2_push_promise:{padlen:[3,0,1,"c.nghttp2_push_promise.padlen"],nvlen:[3,0,1,"c.nghttp2_push_promise.nvlen"],promised_stream_id:[3,0,1,"c.nghttp2_push_promise.promised_stream_id"],hd:[3,0,1,"c.nghttp2_push_promise.hd"],nva:[3,0,1,"c.nghttp2_push_promise.nva"]},nghttp2_settings:{niv:[3,0,1,"c.nghttp2_settings.niv"],hd:[3,0,1,"c.nghttp2_settings.hd"],iv:[3,0,1,"c.nghttp2_settings.iv"]}},titleterms:{version:0,header:4,api:3,http:[0,4,5,2],librari:[0,4],statu:4,git:4,develop:4,struct:3,union:3,libev:[2,5],client:[4,5],nghttp2:[0,6,4],program:4,build:4,test:4,document:4,type:3,"public":4,refer:3,"function":3,resourc:0,proxi:4,python:4,remark:3,tool:4,"enum":3,typedef:3,compressor:4,releas:0,from:4,decompressor:4,nghttp2ver:1,nghttpd:4,macro:3,nghttp:4,requir:4,server:[2,4],inflatehd:4,tutori:[2,5],deflatehd:4,includ:3,hpack:4,bind:4,nghttpx:4}}) \ No newline at end of file +Search.setIndex({envversion:42,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],op_al:4,"const":[2,6,5,3],nghttp2_submit_:[2,5],"0x20":[3,6],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,nghttp2_settings_initial_window_s:[3,6],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],behavior:[3,6],initialize_app_context:2,here:[2,6,4,5,3],met:[2,6,5,3],"4xx":4,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,total:[3,6,4],unit:4,describ:[2,6,5,3],would:[3,6],call:[2,6,4,5,3],asset:4,nghttp2_on_invalid_frame_recv_callback:[3,6],nghttp2_version:[3,6,1],until:[3,6],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,4],indic:[2,6,5,3],want:[2,6,5,3],select_padding_callback:[3,6],unsign:[2,6,5,3],end:[2,6,5,3],datalen:[2,5],how:[3,6,5],nghttp2_err_fat:[3,6],env:4,negoti:4,nghttp2_frame_typ:[3,6],updat:[3,6],nghttp2_msg_more:6,after:[2,6,4,5,3],badli:[3,6],demonstr:5,request_path:2,third:[2,6,5,3],opaqu:[3,6],bootstrap:4,exclud:[3,6],receiv:[2,6,4,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],nghttp2_select_padding_callback:[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],top:4,nghttp2_max_header_table_s:[3,6],too:[3,6],similarli:[3,6],draft:[0,6,4,3],listen:[2,4],tool:[3,6],lighttpd:4,travers:2,awaaagqeaad__w:4,target:[3,6,4],provid:[2,1,3,4,5,6],project:[0,4],matter:[3,6],nghttp2_continu:[3,6],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],bytesio:4,simplic:5,don:[2,6,4,3],hex_to_uint:2,doc:4,flow:[3,6],doe:[2,6,4,5,3],nghttp2_gzip_inflate_new:[3,6],section:[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],involv:[3,6],explain:5,configur:[3,6,4],apach:4,nghttp2_err_invalid_stream_id:[3,6],busi:[2,5],nghttp2_flag_pad_high:[3,6],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,6,4,3],baz:4,push_promis:[2,6,3],"public":[3,6],nghttp2_strerror:[2,6,5,3],nghttp2_gzip_inflate_del:[3,6],bufferevent_ssl_accept:2,serve_forev:4,nul:[3,6],result:[2,5],respons:[2,6,4,5,3],fail:[3,6,4],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,4],ssl_ctx_use_certificate_chain_fil:2,header_t:4,logic:2,enhance_your_calm:[3,6],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],chrome:4,max_deflate_s:4,been:[2,6,5,3],github:[0,4],much:[2,6,3],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],load_cert_chain:4,ssl_op_no_compress:[2,5],servic:2,zlib:4,publicli:4,nghttp2_on_begin_headers_callback:[3,6,5],bev_event_timeout:[2,5],bufferevent_socket_connect_hostnam:5,nghttp2_inadequate_secur:[3,6],nghttp2_set:[3,6],promised_stream_id:[3,6],conf:4,sever:[2,6,4,5,3],on_data:4,perform:[2,6,4,3],make:[2,6,4,3],transpar:[3,6],headlen:[3,6],split:[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,4,3],nghttp2_session_get_effective_local_window_s:[3,6],client:[3,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:[3,6,5],underli:[2,5],www:[3,6],right:[2,6,5,1],deal:[2,6,5,1,3],intern:[3,6],successfulli:[2,6,5,3],transmiss:[2,6,5,3],requesthandlerclass:4,ni_numerichost:2,implement:[0,2,3,4,5,6],bottom:[3,6],nghttp2_data_source_read_callback:[3,6],subclass:4,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],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],git:[3,6],session_send:[2,5],wai:[3,6,4],support:[2,6,4,5,3],verbos:4,overhead:4,lowest:[3,6],head:[2,6,3],form:[3,6,4],offer:4,bev_event_connect:[2,5],"true":4,hddeflat:4,ssl_ctx_free:[2,5],maximum:[3,6,4],tell:[2,6,5,3],deafult:4,autoconf:4,emit:[2,6,5,3],nghttp2_initial_window_s:[3,6],featur:4,httpbi:[0,6,4,3],netdb:2,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],nghttp2_check_header_valu:[3,6],send_client_connection_head:5,unlimit:[3,6],intend:2,af_unspec:[2,5],nghttp2_max_window_s:[3,6],technot:[3,6],consid:4,evconnlistener_new_bind:2,longer:[2,4],nghttp2_check_header_nam:[3,6],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,upper:[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],onli:[2,6,4,5,3],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],handler:4,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,critic:[3,6],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],sslcontext:4,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],talk:[2,4],nghttp2_err_stream_shut_wr:[3,6],size_t:[2,6,5,3],nghttp2_err_unsupported_vers:[3,6],still:[2,6,4,3],nghttp2_settings_entri:[2,6,5,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,"5xx":4,nghttp2_submit_head:[3,6],nghttp2_on_header_callback:[2,6,5,3],"0x000400":1,name:[2,6,4,5,3],version_num:[3,6],config:4,no_error:4,drop:[2,6,5,3],millisec:4,replac:[3,6],individu:[3,6],continu:[2,6,5,3],event_base_loop:[2,5],turoti:5,happen:[2,4,5],ai_addrlen:2,space:[3,6,4],output_length:4,earlier:[2,5],event_base_new:[2,5],argv:[2,5],org:[0,6,4,3],"byte":[2,6,4,5,3],argc:[2,5],care:[3,6],nghttp2_opt_no_auto_connection_window_upd:[3,6],nghttp2ver:[3,6],"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_is_fat:[3,6],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,4],necessarili:[3,6],sigpip:[2,5],internal_error:[3,6],conveni:[3,6],knowledg:4,copi:[2,6,5,1,3],specifi:[2,6,4,5,3],on_head: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],browser:4,fork:4,sai:[3,6],pri:[3,6],ani:[2,1,3,4,5,6],deliv:[3,6],sat:4,bitwis:[3,6],event_bas:[2,5],nghttp2_flag_prior:[3,6],destroi:[2,5],payloadlen:[3,6],note:[2,6,4,5,3],take:[2,6,4,5,3],properti:[2,5],noth:[3,6,4],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,4,3],permiss:[2,6,5,1],threshold:2,pad_high:[3,6],end_seg:[3,6,4],written:[2,6,4,5,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],requir:[3,6],nghttp2_set_stream_user_data:2,nghttp2_frame_size_error:[3,6],reserv:[3,6],op_no_sslv2:4,detect:[3,6,4],weighttp:4,"import":4,fcntl:2,pipefd:2,evdns_bas:5,submit_request:5,region:[3,6],contract:[2,6,5,1],tutori:[],mani:[3,6],nghttp2_data_provid:[2,6,3],inspir:4,nghttp2_err_too_many_inflight_set:[3,6],cancel:[3,6],damag:[2,6,5,1],http2server:4,header_table_s:4,nghttp2_settings_max:[3,6],"abstract":[2,5],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,4,5,3],invoc:[2,6,3],on_data_chunk_recv_callback:[3,6,5],stdout:[4,5],ascii:[3,6],develop:[],author:[2,6,4,5,1],bev_opt_defer_callback:[2,5],alphabet:[3,6],same:[2,6,4,5,3],ssl_library_init:[2,5],binari:5,pac:4,pad:[3,6,4],document:[6,1],finish:[2,4,5],decompress:[3,6,4],handshake_leftlen:2,extern:6,postpon:[3,6],ai_next:2,without:[2,1,3,4,5,6],nghttp2_push_promis:[3,6],on_request_don:4,event2:[2,5],nghttp2_err_def:[3,6],nghttp2_submit_set:[2,6,5,3],execut:4,multiplex:[2,4],hint:2,except:[3,6],identif:[3,6],nghttp2_select_next_protocol:[3,6,5],real:5,unistd:[2,5],read:[2,6,4,5,3],nghttp2_version_ag:[3,6],rfc2616:[3,6],test:[],traffic:4,next_proto_cb:2,integ:[3,6],server:[3,6],either:[2,6,3],output:[2,6,4,5,3],manag:[2,6,3],stream_clos:[3,6],protocol_sslv23:4,ssl_ctx_set_next_protos_advertised_cb:2,handshak:[2,5],nonzero:[2,6,3],easili:5,"2xx":4,exit:[2,5],data_ptr:[3,6],freed:4,base64url:[3,6],inspect:[3,6],found:[2,6,3],getnameinfo:2,src:4,inflater_ptr:[3,6],ack:[3,6,4],dnsbase:5,settings_payload:[3,6],act:[2,5],routin:[2,5],max_siz:4,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],ipv4:4,lot:[3,6],ipv6:4,strictli:[3,6],next_proto_list:2,nghttp2_proto_version_id_len:[2,6,3],tupl:4,nghttp2_err_invalid_st:[3,6],nghttp2_flag_end_seg:[3,6],possibl:[2,6,5,3],"default":[2,6,4,3],applayerprotoneg:[3,6],hpack:[],expect:4,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,kbyte:4,field:[2,6,4,5,3],valid:[3,6,4],nghttp2_prioriti:[3,6],print_head:5,you:[2,6,4,5,3],intention:[3,6],sequenc:[2,6,4,5,3],promised_stream_user_data:[3,6],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],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:[],bufferevent_writ:[2,5],uf_queri:5,fals:4,pad_low:[3,6],settings_header_table_s:[3,6],nghttp2_client_connection_header_len:[2,6,5,3],failur:[3,6],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:3,method:[2,6,4,5,3],libjansson:4,padlen:[3,6,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],on_clos:4,prior:4,amount:[2,5],action:[2,6,5,1,3],via:[2,6,4,5,3],primit:5,ask:[3,6],famili:[2,5],establish:[2,5],select:[3,6,5],regist:2,libev:[],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],none:4,endpoint:[3,6,4],dev:[4,1],remain:[2,6,5,3],def:4,share:[3,6,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],css:4,resourc:3,referenc:4,variant:[3,6],spdylai:4,associ:[2,1,3,4,5,6],"short":[2,5],caus:[3,6],callback:[2,6,4,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],fulli:2,trailer:[3,6],nghttp2_on_frame_send_callback:[3,6],monoton:5,realli:5,connect:[2,1,3,4,5,6],field_set:5,event:[2,6,4,5,1],app_ctx:2,ftw:4,publish:[2,6,5,1],payload:[3,6],etag:4,print:[4,5],on_frame_not_send_callback:[3,6],proxi:[],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,prevent:[3,6],number:[2,6,1,3],"0x8":[3,6],done:[2,4,5],construct:[3,6,4],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],memcmp:2,nghttp2_client_connection_head:[2,6,5,3],pars:5,kind:[2,6,5,1,3],doubli:2,remot:[2,6,5,3],remov:[2,6,3],bridg:4,consumpt:[2,5],nghttp2_error:[3,6],window_size_incr:[3,6],lib_error_cod:[3,6],arrlen:[2,5],packag:4,"null":[2,6,5,3],syn_stream:[3,6],sell:[2,6,5,1],outbound:[3,6],built:4,equival:[3,6],afram:[3,6],also:[2,6,5,3],build:[],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],charg:[2,6,5,1],addr:2,"01881f3468e5891afcbf83868a3d856659c62e3f":4,compar:[3,6,5],frame_size_error:[3,6],microsec:4,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],"3xx":4,liabl:[2,6,5,1],before_frame_send_callback:[3,6,5],retreiv:5,crt:[2,4],h2load:4,certif:[2,4,5],set:[2,6,4,5,3],seq:4,sep:4,ousid:4,remove_stream:2,nghttp2_submit_goawai:[3,6],sec:4,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],disallow:4,succeed:4,percent_decod:2,closur:[3,6,5],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,4],simpli:[2,5],send_server_connection_head:2,header:[3,6],shutdown:[2,6,5,3],nghttp2_session_client_new:[3,6,5],nghttp2_session:[2,6,5,3],backend:4,due:[3,6],empti:[2,6,4,5,3],send_respons:[2,4],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],abov:[2,1,3,4,5,6],error:[2,6,4,5,3],loop:[2,4,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],typic:4,nghttp2_h:6,noninfring:[2,6,5,1],entri:[3,6,4],person:[2,6,5,1],uint32_t:[3,6],self:4,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,on_begin_headers_callback:[2,6,5,3],format:[2,6,4,5,3],http_parser:5,bit:[3,6,1],strstr:2,foobarbuzz:4,signal:[2,6,5,3],lib_error:[3,6],some:[2,6,5,3],back:[3,6],sampl:4,sizeof:[2,5],libssl:4,lev_opt_reus:2,though:4,per:[3,6,4],larg:[3,6],make_nv2:5,machin:4,run:[2,6,4,5,3],step:[3,6],from:[3,6,1],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,"long":[3,6],nghttp2:3,forward:4,session_ptr:[3,6],repeatedli:[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],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],nghttp2_flag_pad_low:[3,6],algorithm:[3,6],nghttp2_submit_request:[3,6,5],namelen:[2,6,5,3],far:[2,5],asyncio:4,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,session:[2,6,4,5,3],pleas:[2,6,4,5,3],impli:[2,6,5,1],smaller:4,snprintf:5,"0x2":[3,6],"0x1":[3,6],"0x0":[3,6],"0x4":[3,6],download:[0,4],client_address:4,index:4,o_rdonli:2,access:[3,6,4],experiment:[0,4],nghttp2_session_server_new:[2,6,3],ssl_ctx_set_opt:[2,5],nghttp2_enhance_your_calm:[3,6],len:[2,6,5,3],bodi:[2,6,4,5,3],nghttp2_rst_stream:[3,6],ubuntu:4,becom:[2,6,1,3],sinc:[2,6,4,5,3],larger:[3,6],ctx:4,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],feb:4,commun:[2,4,5],binascii:4,upgrad:[3,6,4],next:[2,6,5,3],findproxyforurl:4,usr:4,nghttp2_nv:[2,6,5,3],jxck:4,goawai:[2,6,4,5,3],benchmark:[],deflat:[3,6,4],account:[3,6,4,5],retriev:[2,6,5,3],tunnel:4,nghttp2_settings_id:[3,6],about:[2,6,5,3],aliv:[2,6,3],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],max_payloadlen:[3,6],eventcb:[2,5],nghttp2_compression_error:[3,6],alloc:[2,6,3],bind:[],nvlen:[2,6,5,3],correspond:[2,4],element:[2,6,3],issu:[0,6,4,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,4,5,3],nghttp2_goawai:[3,6],handi:5,ssl_op_no_sslv2:[2,5],nghttp2_session_mem_send:[3,6],anyth:5,uf_port:5,mode:4,ssl_filetype_pem:2,chunk:[3,6,4,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,4],n1000:4,categori:[3,6,5],suitabl:[3,6],rel:2,field_data:5,recv_callback:[3,6],insid:4,releas: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],strict:4,unknown:[2,6,3],system:[2,5],messag:[3,6,5],attach:[2,5],attack:4,termin:[2,6,4,5,3],low:[3,6],request_head: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],bufferevent_get_input:[2,5],corrupt:5,have:[2,6,4,5,3],tabl:[3,6,4],need:[3,6,4,5],ai_socktyp:2,"0x04":4,"0x05":4,"0x00":[3,6,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],"0x0d":[3,6],"0x0a":[3,6],ssl_load_error_str:[2,5],text:4,bufferevent_get_output:[2,5],redirect:5,locat:5,should:[2,6,4,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:[2,6,3],increas:[3,6,5],portion:[2,6,5,1,3],nghttp2_submit_respons:[2,6,3],enabl: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],ssl_ctx:[2,6,5,3],temporarili:[3,6],statu:[3,6],wire:[2,4,5],correctli:[3,6],pointer:[2,6,3],state:[2,6,4,3],https_uri:5,progress:4,nghttp2_initial_connection_window_s:[3,6],kei:[2,6,4,3],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,4],uint16_t:[3,6,5],arriv:4,m10:4,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],both:[2,6,4,5,3],sock_stream:2,evconnlisten:2,on_header_callback:[2,6,5,3],multi:4,plain:4,defin:[2,6,5,1,3],eintr:2,inadequate_secur:[3,6],helper:[3,6],on_request_recv:2,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:[],ifndef:[6,1],dyanmic:4,http:3,hostnam:4,uf_host:5,initi:[2,6,5,3],dealloc:4,peer_max_concurrent_stream:[3,6],off:5,well:[2,5],app_context:2,"0x10":[3,6],exampl:[2,6,4,5,3],command:4,choos:[3,6],error_cod:[2,6,4,5,3],nghttp2_data_sourc:[2,6,3],usual:[3,6],paus:[3,6],less:[3,6],send_callback:[2,6,5,3],half:[3,6],obtain:[2,6,5,1],tcp:[2,5],heavili:4,web:[2,4],cert_fil:2,point:[2,6,5,3],priorit:[3,6],addrlen:2,add:[2,6,3],c10:4,match:[2,5],gmt:4,nvu: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,6,3],tlen:[3,6],page:[2,5],file_read_callback:2,suppli:[3,6],"export":2,nghttp2_session_get_effective_recv_data_length:[3,6],error_html:2,librari:3,lead:[3,6],avoid:[2,6,5,3],octet:[2,5],overlap:[3,6],isxdigit:2,outgo:[2,6,3],nghttp2_session_upgrad:[3,6],delete_http2_stream_data:[2,5],usag:[2,6,4,5,3],host:[0,4,5,2],nghttp2_nv_compare_nam:[3,6],err_get_error:[2,5],actual:[2,6,5,3],socket:[2,4,5],nghttp2_gzip:[3,6],ssl_tlsext_err_ok:[2,6,5,3],disabl:[3,6,4],own:[3,6],nghttp2_err_invalid_fram:[3,6],automat:[3,6],warranti:[2,6,5,1],automak:4,merg:[2,6,5,1],val:[2,5],ai_famili:2,transfer:[0,6,4,3],bump:[3,6],trigger:[3,6],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,6,5,1,3],problem:[3,6],sockaddr:2,nghttp2_on_frame_not_send_callback:[3,6],strndup:5,"int":[2,6,5,3],baserequesthandl:4,nghttp2_flag_end_stream:[2,6,3],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,rule:[3,6],nghttp2_no_error:[3,6,5]},objtypes:{"0":"c:member","1":"c:macro","2":"c:type","3":"c:function"},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"],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"],objects:{"":{NGHTTP2_ERR_INVALID_STATE:[3,1,1,"c.NGHTTP2_ERR_INVALID_STATE"],NGHTTP2_ERR_HEADER_COMP:[3,1,1,"c.NGHTTP2_ERR_HEADER_COMP"],NGHTTP2_SETTINGS_HEADER_TABLE_SIZE:[3,1,1,"c.NGHTTP2_SETTINGS_HEADER_TABLE_SIZE"],nghttp2_settings_entry:[3,2,1,"c.nghttp2_settings_entry"],NGHTTP2_INTERNAL_ERROR:[3,1,1,"c.NGHTTP2_INTERNAL_ERROR"],NGHTTP2_PRI_LOWEST:[3,1,1,"c.NGHTTP2_PRI_LOWEST"],nghttp2_on_frame_recv_callback:[3,2,1,"c.nghttp2_on_frame_recv_callback"],NGHTTP2_CLIENT_CONNECTION_HEADER_LEN:[3,1,1,"c.NGHTTP2_CLIENT_CONNECTION_HEADER_LEN"],NGHTTP2_STREAM_CLOSED:[3,1,1,"c.NGHTTP2_STREAM_CLOSED"],nghttp2_ping:[3,2,1,"c.nghttp2_ping"],NGHTTP2_ERR_INVALID_FRAME:[3,1,1,"c.NGHTTP2_ERR_INVALID_FRAME"],nghttp2_frame_type:[3,2,1,"c.nghttp2_frame_type"],NGHTTP2_ERR_INVALID_STREAM_ID:[3,1,1,"c.NGHTTP2_ERR_INVALID_STREAM_ID"],nghttp2_select_next_protocol:[3,3,1,"c.nghttp2_select_next_protocol"],NGHTTP2_ERR_INVALID_HEADER_BLOCK:[3,1,1,"c.NGHTTP2_ERR_INVALID_HEADER_BLOCK"],nghttp2_session_callbacks:[3,2,1,"c.nghttp2_session_callbacks"],NGHTTP2_ERR_TOO_MANY_INFLIGHT_SETTINGS:[3,1,1,"c.NGHTTP2_ERR_TOO_MANY_INFLIGHT_SETTINGS"],NGHTTP2_ERR_PROTO:[3,1,1,"c.NGHTTP2_ERR_PROTO"],NGHTTP2_MAX_HEADER_TABLE_SIZE:[3,1,1,"c.NGHTTP2_MAX_HEADER_TABLE_SIZE"],nghttp2_submit_window_update:[3,3,1,"c.nghttp2_submit_window_update"],NGHTTP2_ERR_UNSUPPORTED_VERSION:[3,1,1,"c.NGHTTP2_ERR_UNSUPPORTED_VERSION"],NGHTTP2_SETTINGS_ENABLE_PUSH:[3,1,1,"c.NGHTTP2_SETTINGS_ENABLE_PUSH"],nghttp2_window_update:[3,2,1,"c.nghttp2_window_update"],NGHTTP2_DATA:[3,1,1,"c.NGHTTP2_DATA"],nghttp2_frame_hd:[3,2,1,"c.nghttp2_frame_hd"],NGHTTP2_ERR_INVALID_STREAM_STATE:[3,1,1,"c.NGHTTP2_ERR_INVALID_STREAM_STATE"],nghttp2_on_header_callback:[3,2,1,"c.nghttp2_on_header_callback"],NGHTTP2_FLAG_ACK:[3,1,1,"c.NGHTTP2_FLAG_ACK"],nghttp2_goaway:[3,2,1,"c.nghttp2_goaway"],NGHTTP2_SETTINGS_MAX:[3,1,1,"c.NGHTTP2_SETTINGS_MAX"],NGHTTP2_MAX_WINDOW_SIZE:[3,1,1,"c.NGHTTP2_MAX_WINDOW_SIZE"],nghttp2_headers_category:[3,2,1,"c.nghttp2_headers_category"],nghttp2_session_mem_send:[3,3,1,"c.nghttp2_session_mem_send"],nghttp2_error_code:[3,2,1,"c.nghttp2_error_code"],nghttp2_send_callback:[3,2,1,"c.nghttp2_send_callback"],nghttp2_on_data_chunk_recv_callback:[3,2,1,"c.nghttp2_on_data_chunk_recv_callback"],NGHTTP2_ERR_START_STREAM_NOT_ALLOWED:[3,1,1,"c.NGHTTP2_ERR_START_STREAM_NOT_ALLOWED"],NGHTTP2_ERR_FLOW_CONTROL:[3,1,1,"c.NGHTTP2_ERR_FLOW_CONTROL"],nghttp2_strerror:[3,3,1,"c.nghttp2_strerror"],nghttp2_gzip_inflate_del:[3,3,1,"c.nghttp2_gzip_inflate_del"],NGHTTP2_ERR_FATAL:[3,1,1,"c.NGHTTP2_ERR_FATAL"],nghttp2_submit_goaway:[3,3,1,"c.nghttp2_submit_goaway"],nghttp2_error:[3,2,1,"c.nghttp2_error"],NGHTTP2_INITIAL_CONNECTION_WINDOW_SIZE:[3,1,1,"c.NGHTTP2_INITIAL_CONNECTION_WINDOW_SIZE"],NGHTTP2_ERR_NOMEM:[3,1,1,"c.NGHTTP2_ERR_NOMEM"],NGHTTP2_ERR_PAUSE:[3,1,1,"c.NGHTTP2_ERR_PAUSE"],NGHTTP2_ENHANCE_YOUR_CALM:[3,1,1,"c.NGHTTP2_ENHANCE_YOUR_CALM"],NGHTTP2_GOAWAY:[3,1,1,"c.NGHTTP2_GOAWAY"],NGHTTP2_NO_ERROR:[3,1,1,"c.NGHTTP2_NO_ERROR"],nghttp2_select_padding_callback:[3,2,1,"c.nghttp2_select_padding_callback"],NGHTTP2_OPT_PEER_MAX_CONCURRENT_STREAMS:[3,1,1,"c.NGHTTP2_OPT_PEER_MAX_CONCURRENT_STREAMS"],nghttp2_session_server_new2:[3,3,1,"c.nghttp2_session_server_new2"],NGHTTP2_ERR_DEFERRED:[3,1,1,"c.NGHTTP2_ERR_DEFERRED"],nghttp2_push_promise:[3,2,1,"c.nghttp2_push_promise"],NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE:[3,1,1,"c.NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE"],nghttp2_session_get_outbound_queue_size:[3,3,1,"c.nghttp2_session_get_outbound_queue_size"],NGHTTP2_PROTO_VERSION_ID_LEN:[3,1,1,"c.NGHTTP2_PROTO_VERSION_ID_LEN"],NGHTTP2_INITIAL_MAX_CONCURRENT_STREAMS:[3,1,1,"c.NGHTTP2_INITIAL_MAX_CONCURRENT_STREAMS"],nghttp2_data_source_read_callback:[3,2,1,"c.nghttp2_data_source_read_callback"],NGHTTP2_SETTINGS_TIMEOUT:[3,1,1,"c.NGHTTP2_SETTINGS_TIMEOUT"],NGHTTP2_ERR_WOULDBLOCK:[3,1,1,"c.NGHTTP2_ERR_WOULDBLOCK"],nghttp2_submit_push_promise:[3,3,1,"c.nghttp2_submit_push_promise"],nghttp2_session_resume_data:[3,3,1,"c.nghttp2_session_resume_data"],NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE:[3,1,1,"c.NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE"],NGHTTP2_PRI_DEFAULT:[3,1,1,"c.NGHTTP2_PRI_DEFAULT"],nghttp2_session_server_new:[3,3,1,"c.nghttp2_session_server_new"],NGHTTP2_CONTINUATION:[3,1,1,"c.NGHTTP2_CONTINUATION"],nghttp2_rst_stream:[3,2,1,"c.nghttp2_rst_stream"],NGHTTP2_ERR_INVALID_ARGUMENT:[3,1,1,"c.NGHTTP2_ERR_INVALID_ARGUMENT"],NGHTTP2_ERR_FRAME_SIZE_ERROR:[3,1,1,"c.NGHTTP2_ERR_FRAME_SIZE_ERROR"],nghttp2_session_del:[3,3,1,"c.nghttp2_session_del"],nghttp2_session_mem_recv:[3,3,1,"c.nghttp2_session_mem_recv"],nghttp2_flag:[3,2,1,"c.nghttp2_flag"],NGHTTP2_OPT_NO_AUTO_STREAM_WINDOW_UPDATE:[3,1,1,"c.NGHTTP2_OPT_NO_AUTO_STREAM_WINDOW_UPDATE"],NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS:[3,1,1,"c.NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS"],NGHTTP2_HCAT_REQUEST:[3,1,1,"c.NGHTTP2_HCAT_REQUEST"],NGHTTP2_FLAG_END_HEADERS:[3,1,1,"c.NGHTTP2_FLAG_END_HEADERS"],nghttp2_gzip:[3,2,1,"c.nghttp2_gzip"],NGHTTP2_RST_STREAM:[3,1,1,"c.NGHTTP2_RST_STREAM"],NGHTTP2_ERR_EOF:[3,1,1,"c.NGHTTP2_ERR_EOF"],NGHTTP2_HCAT_HEADERS:[3,1,1,"c.NGHTTP2_HCAT_HEADERS"],NGHTTP2_VERSION_NUM:[3,1,1,"c.NGHTTP2_VERSION_NUM"],NGHTTP2_SETTINGS:[3,1,1,"c.NGHTTP2_SETTINGS"],nghttp2_frame:[3,2,1,"c.nghttp2_frame"],NGHTTP2_FLAG_END_SEGMENT:[3,1,1,"c.NGHTTP2_FLAG_END_SEGMENT"],NGHTTP2_ERR_DEFERRED_DATA_EXIST:[3,1,1,"c.NGHTTP2_ERR_DEFERRED_DATA_EXIST"],NGHTTP2_CANCEL:[3,1,1,"c.NGHTTP2_CANCEL"],NGHTTP2_REFUSED_STREAM:[3,1,1,"c.NGHTTP2_REFUSED_STREAM"],nghttp2_on_frame_send_callback:[3,2,1,"c.nghttp2_on_frame_send_callback"],NGHTTP2_HEADERS:[3,1,1,"c.NGHTTP2_HEADERS"],nghttp2_opt_set:[3,2,1,"c.nghttp2_opt_set"],NGHTTP2_FLAG_PAD_HIGH:[3,1,1,"c.NGHTTP2_FLAG_PAD_HIGH"],NGHTTP2_VERSION:[3,1,1,"c.NGHTTP2_VERSION"],NGHTTP2_COMPRESSION_ERROR:[3,1,1,"c.NGHTTP2_COMPRESSION_ERROR"],NGHTTP2_HCAT_PUSH_RESPONSE:[3,1,1,"c.NGHTTP2_HCAT_PUSH_RESPONSE"],nghttp2_submit_rst_stream:[3,3,1,"c.nghttp2_submit_rst_stream"],nghttp2_submit_headers:[3,3,1,"c.nghttp2_submit_headers"],nghttp2_recv_callback:[3,2,1,"c.nghttp2_recv_callback"],nghttp2_session_get_stream_user_data:[3,3,1,"c.nghttp2_session_get_stream_user_data"],NGHTTP2_FLAG_PRIORITY:[3,1,1,"c.NGHTTP2_FLAG_PRIORITY"],nghttp2_nv:[3,2,1,"c.nghttp2_nv"],nghttp2_on_invalid_frame_recv_callback:[3,2,1,"c.nghttp2_on_invalid_frame_recv_callback"],nghttp2_version:[3,3,1,"c.nghttp2_version"],nghttp2_on_unknown_frame_recv_callback:[3,2,1,"c.nghttp2_on_unknown_frame_recv_callback"],NGHTTP2_ERR_STREAM_CLOSED:[3,1,1,"c.NGHTTP2_ERR_STREAM_CLOSED"],nghttp2_opt:[3,2,1,"c.nghttp2_opt"],NGHTTP2_ERR_CALLBACK_FAILURE:[3,1,1,"c.NGHTTP2_ERR_CALLBACK_FAILURE"],NGHTTP2_ERR_GOAWAY_ALREADY_SENT:[3,1,1,"c.NGHTTP2_ERR_GOAWAY_ALREADY_SENT"],NGHTTP2_FLOW_CONTROL_ERROR:[3,1,1,"c.NGHTTP2_FLOW_CONTROL_ERROR"],nghttp2_session_set_stream_user_data:[3,3,1,"c.nghttp2_session_set_stream_user_data"],nghttp2_check_header_value:[3,3,1,"c.nghttp2_check_header_value"],NGHTTP2_ERR_STREAM_CLOSING:[3,1,1,"c.NGHTTP2_ERR_STREAM_CLOSING"],NGHTTP2_INADEQUATE_SECURITY:[3,1,1,"c.NGHTTP2_INADEQUATE_SECURITY"],nghttp2_session_client_new:[3,3,1,"c.nghttp2_session_client_new"],nghttp2_check_header_name:[3,3,1,"c.nghttp2_check_header_name"],nghttp2_session:[3,2,1,"c.nghttp2_session"],nghttp2_info:[3,2,1,"c.nghttp2_info"],NGHTTP2_PROTO_VERSION_ID:[3,1,1,"c.NGHTTP2_PROTO_VERSION_ID"],nghttp2_settings_id:[3,2,1,"c.nghttp2_settings_id"],nghttp2_session_send:[3,3,1,"c.nghttp2_session_send"],NGHTTP2_PROTOCOL_ERROR:[3,1,1,"c.NGHTTP2_PROTOCOL_ERROR"],nghttp2_gzip_inflate:[3,3,1,"c.nghttp2_gzip_inflate"],nghttp2_session_upgrade:[3,3,1,"c.nghttp2_session_upgrade"],nghttp2_on_begin_headers_callback:[3,2,1,"c.nghttp2_on_begin_headers_callback"],NGHTTP2_ERR_INSUFF_BUFSIZE:[3,1,1,"c.NGHTTP2_ERR_INSUFF_BUFSIZE"],nghttp2_settings:[3,2,1,"c.nghttp2_settings"],nghttp2_on_frame_not_send_callback:[3,2,1,"c.nghttp2_on_frame_not_send_callback"],nghttp2_session_get_effective_recv_data_length:[3,3,1,"c.nghttp2_session_get_effective_recv_data_length"],nghttp2_submit_data:[3,3,1,"c.nghttp2_submit_data"],nghttp2_submit_response:[3,3,1,"c.nghttp2_submit_response"],NGHTTP2_CLIENT_CONNECTION_HEADER:[3,1,1,"c.NGHTTP2_CLIENT_CONNECTION_HEADER"],NGHTTP2_FLAG_NONE:[3,1,1,"c.NGHTTP2_FLAG_NONE"],nghttp2_session_terminate_session:[3,3,1,"c.nghttp2_session_terminate_session"],nghttp2_submit_settings:[3,3,1,"c.nghttp2_submit_settings"],NGHTTP2_HCAT_RESPONSE:[3,1,1,"c.NGHTTP2_HCAT_RESPONSE"],NGHTTP2_PING:[3,1,1,"c.NGHTTP2_PING"],NGHTTP2_OPT_NO_AUTO_CONNECTION_WINDOW_UPDATE:[3,1,1,"c.NGHTTP2_OPT_NO_AUTO_CONNECTION_WINDOW_UPDATE"],nghttp2_priority:[3,2,1,"c.nghttp2_priority"],nghttp2_session_want_read:[3,3,1,"c.nghttp2_session_want_read"],NGHTTP2_VERSION_AGE:[3,1,1,"c.NGHTTP2_VERSION_AGE"],NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE:[3,1,1,"c.NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE"],NGHTTP2_CONNECT_ERROR:[3,1,1,"c.NGHTTP2_CONNECT_ERROR"],NGHTTP2_FLAG_END_STREAM:[3,1,1,"c.NGHTTP2_FLAG_END_STREAM"],nghttp2_on_stream_close_callback:[3,2,1,"c.nghttp2_on_stream_close_callback"],NGHTTP2_PUSH_PROMISE:[3,1,1,"c.NGHTTP2_PUSH_PROMISE"],nghttp2_data_provider:[3,2,1,"c.nghttp2_data_provider"],NGHTTP2_ERR_PUSH_DISABLED:[3,1,1,"c.NGHTTP2_ERR_PUSH_DISABLED"],nghttp2_session_recv:[3,3,1,"c.nghttp2_session_recv"],nghttp2_session_get_effective_local_window_size:[3,3,1,"c.nghttp2_session_get_effective_local_window_size"],NGHTTP2_INITIAL_WINDOW_SIZE:[3,1,1,"c.NGHTTP2_INITIAL_WINDOW_SIZE"],NGHTTP2_WINDOW_UPDATE:[3,1,1,"c.NGHTTP2_WINDOW_UPDATE"],nghttp2_session_want_write:[3,3,1,"c.nghttp2_session_want_write"],nghttp2_submit_priority:[3,3,1,"c.nghttp2_submit_priority"],nghttp2_session_client_new2:[3,3,1,"c.nghttp2_session_client_new2"],nghttp2_headers:[3,2,1,"c.nghttp2_headers"],nghttp2_before_frame_send_callback:[3,2,1,"c.nghttp2_before_frame_send_callback"],nghttp2_session_get_stream_effective_local_window_size:[3,3,1,"c.nghttp2_session_get_stream_effective_local_window_size"],NGHTTP2_ERR_GZIP:[3,1,1,"c.NGHTTP2_ERR_GZIP"],nghttp2_is_fatal:[3,3,1,"c.nghttp2_is_fatal"],NGHTTP2_FLAG_PAD_LOW:[3,1,1,"c.NGHTTP2_FLAG_PAD_LOW"],nghttp2_submit_ping:[3,3,1,"c.nghttp2_submit_ping"],NGHTTP2_FRAME_SIZE_ERROR:[3,1,1,"c.NGHTTP2_FRAME_SIZE_ERROR"],nghttp2_data_source:[3,2,1,"c.nghttp2_data_source"],NGHTTP2_ERR_STREAM_SHUT_WR:[3,1,1,"c.NGHTTP2_ERR_STREAM_SHUT_WR"],NGHTTP2_PRIORITY:[3,1,1,"c.NGHTTP2_PRIORITY"],nghttp2_submit_request:[3,3,1,"c.nghttp2_submit_request"],nghttp2_session_get_stream_effective_recv_data_length:[3,3,1,"c.nghttp2_session_get_stream_effective_recv_data_length"],nghttp2_pack_settings_payload:[3,3,1,"c.nghttp2_pack_settings_payload"],nghttp2_data:[3,2,1,"c.nghttp2_data"],nghttp2_gzip_inflate_new:[3,3,1,"c.nghttp2_gzip_inflate_new"],nghttp2_nv_compare_name:[3,3,1,"c.nghttp2_nv_compare_name"]},nghttp2_session_callbacks:{on_invalid_frame_recv_callback:[3,0,1,"c.nghttp2_session_callbacks.on_invalid_frame_recv_callback"],before_frame_send_callback:[3,0,1,"c.nghttp2_session_callbacks.before_frame_send_callback"],on_stream_close_callback:[3,0,1,"c.nghttp2_session_callbacks.on_stream_close_callback"],on_data_chunk_recv_callback:[3,0,1,"c.nghttp2_session_callbacks.on_data_chunk_recv_callback"],on_begin_headers_callback:[3,0,1,"c.nghttp2_session_callbacks.on_begin_headers_callback"],send_callback:[3,0,1,"c.nghttp2_session_callbacks.send_callback"],on_unknown_frame_recv_callback:[3,0,1,"c.nghttp2_session_callbacks.on_unknown_frame_recv_callback"],on_frame_recv_callback:[3,0,1,"c.nghttp2_session_callbacks.on_frame_recv_callback"],select_padding_callback:[3,0,1,"c.nghttp2_session_callbacks.select_padding_callback"],on_frame_not_send_callback:[3,0,1,"c.nghttp2_session_callbacks.on_frame_not_send_callback"],recv_callback:[3,0,1,"c.nghttp2_session_callbacks.recv_callback"],on_frame_send_callback:[3,0,1,"c.nghttp2_session_callbacks.on_frame_send_callback"],on_header_callback:[3,0,1,"c.nghttp2_session_callbacks.on_header_callback"]},nghttp2_frame:{push_promise:[3,0,1,"c.nghttp2_frame.push_promise"],settings:[3,0,1,"c.nghttp2_frame.settings"],ping:[3,0,1,"c.nghttp2_frame.ping"],rst_stream:[3,0,1,"c.nghttp2_frame.rst_stream"],priority:[3,0,1,"c.nghttp2_frame.priority"],headers:[3,0,1,"c.nghttp2_frame.headers"],goaway:[3,0,1,"c.nghttp2_frame.goaway"],window_update:[3,0,1,"c.nghttp2_frame.window_update"],data:[3,0,1,"c.nghttp2_frame.data"],hd:[3,0,1,"c.nghttp2_frame.hd"]},nghttp2_ping:{hd:[3,0,1,"c.nghttp2_ping.hd"]},nghttp2_data_provider:{source:[3,0,1,"c.nghttp2_data_provider.source"],read_callback:[3,0,1,"c.nghttp2_data_provider.read_callback"]},nghttp2_priority:{pri:[3,0,1,"c.nghttp2_priority.pri"],hd:[3,0,1,"c.nghttp2_priority.hd"]},nghttp2_settings_entry:{settings_id:[3,0,1,"c.nghttp2_settings_entry.settings_id"],value:[3,0,1,"c.nghttp2_settings_entry.value"]},nghttp2_window_update:{hd:[3,0,1,"c.nghttp2_window_update.hd"],window_size_increment:[3,0,1,"c.nghttp2_window_update.window_size_increment"]},nghttp2_frame_hd:{stream_id:[3,0,1,"c.nghttp2_frame_hd.stream_id"],length:[3,0,1,"c.nghttp2_frame_hd.length"],type:[3,0,1,"c.nghttp2_frame_hd.type"],flags:[3,0,1,"c.nghttp2_frame_hd.flags"]},nghttp2_data:{padlen:[3,0,1,"c.nghttp2_data.padlen"]},nghttp2_info:{age:[3,0,1,"c.nghttp2_info.age"],version_str:[3,0,1,"c.nghttp2_info.version_str"],version_num:[3,0,1,"c.nghttp2_info.version_num"],proto_str:[3,0,1,"c.nghttp2_info.proto_str"]},nghttp2_rst_stream:{error_code:[3,0,1,"c.nghttp2_rst_stream.error_code"],hd:[3,0,1,"c.nghttp2_rst_stream.hd"]},nghttp2_nv:{valuelen:[3,0,1,"c.nghttp2_nv.valuelen"],namelen:[3,0,1,"c.nghttp2_nv.namelen"],name:[3,0,1,"c.nghttp2_nv.name"],value:[3,0,1,"c.nghttp2_nv.value"]},nghttp2_headers:{pri:[3,0,1,"c.nghttp2_headers.pri"],nvlen:[3,0,1,"c.nghttp2_headers.nvlen"],cat:[3,0,1,"c.nghttp2_headers.cat"],padlen:[3,0,1,"c.nghttp2_headers.padlen"],nva:[3,0,1,"c.nghttp2_headers.nva"],hd:[3,0,1,"c.nghttp2_headers.hd"]},nghttp2_opt_set:{no_auto_stream_window_update:[3,0,1,"c.nghttp2_opt_set.no_auto_stream_window_update"],peer_max_concurrent_streams:[3,0,1,"c.nghttp2_opt_set.peer_max_concurrent_streams"],no_auto_connection_window_update:[3,0,1,"c.nghttp2_opt_set.no_auto_connection_window_update"]},nghttp2_goaway:{opaque_data:[3,0,1,"c.nghttp2_goaway.opaque_data"],error_code:[3,0,1,"c.nghttp2_goaway.error_code"],opaque_data_len:[3,0,1,"c.nghttp2_goaway.opaque_data_len"],hd:[3,0,1,"c.nghttp2_goaway.hd"],last_stream_id:[3,0,1,"c.nghttp2_goaway.last_stream_id"]},nghttp2_data_source:{fd:[3,0,1,"c.nghttp2_data_source.fd"],ptr:[3,0,1,"c.nghttp2_data_source.ptr"]},nghttp2_push_promise:{padlen:[3,0,1,"c.nghttp2_push_promise.padlen"],nvlen:[3,0,1,"c.nghttp2_push_promise.nvlen"],promised_stream_id:[3,0,1,"c.nghttp2_push_promise.promised_stream_id"],hd:[3,0,1,"c.nghttp2_push_promise.hd"],nva:[3,0,1,"c.nghttp2_push_promise.nva"]},nghttp2_settings:{niv:[3,0,1,"c.nghttp2_settings.niv"],hd:[3,0,1,"c.nghttp2_settings.hd"],iv:[3,0,1,"c.nghttp2_settings.iv"]}},titleterms:{version:0,header:4,api:3,http:[0,4,5,2],librari:[0,4],statu:4,git:4,develop:4,struct:3,union:3,libev:[2,5],client:[4,5],nghttp2:[0,6,4],program:4,build:4,test:4,document:4,type:3,"public":4,refer:3,"function":3,resourc:0,proxi:4,python:4,remark:3,tool:4,"enum":3,benchmark:4,typedef:3,compressor:4,too:[],releas:0,from:4,decompressor:4,nghttp2ver:1,nghttpd:4,macro:3,nghttp:4,requir:4,server:[2,4],inflatehd:4,tutori:[2,5],deflatehd:4,includ:3,hpack:4,bind:4,nghttpx:4}}) \ No newline at end of file diff --git a/tutorial-client.html b/tutorial-client.html index b9d1bde4..4a382b77 100644 --- a/tutorial-client.html +++ b/tutorial-client.html @@ -88,6 +88,7 @@
  • Build from git
  • Building documentation
  • Client, Server and Proxy programs
  • +
  • Benchmarking too
  • HPACK tools
  • Python bindings
  • diff --git a/tutorial-server.html b/tutorial-server.html index 466f07fd..279f1021 100644 --- a/tutorial-server.html +++ b/tutorial-server.html @@ -88,6 +88,7 @@
  • Build from git
  • Building documentation
  • Client, Server and Proxy programs
  • +
  • Benchmarking too
  • HPACK tools
  • Python bindings