diff --git a/nghttpx-howto.html b/nghttpx-howto.html index 6d9b3d5b..764e6071 100644 --- a/nghttpx-howto.html +++ b/nghttpx-howto.html @@ -190,9 +190,10 @@ example, you can send GET request to the server using nghttp:

HTTP/2 proxy mode

If nghttpx is invoked with -s option, it operates in HTTP/2 proxy mode. The supported protocols in frontend and backend connections are -the same in default mode. The difference is that this mode acts like -forward proxy and assumes the backend is HTTP/1 proxy server (e.g., -squid). So HTTP/1 request must include absolute URI in request line.

+the same in default mode. The difference is that this mode acts +like forward proxy and assumes the backend is HTTP/1 proxy server +(e.g., squid, traffic server). So HTTP/1 request must include +absolute URI in request line.

By default, frontend connection is encrypted, this mode is also called secure proxy. If nghttpx is linked with spdylay, it supports SPDY protocols and it works as so called SPDY proxy.

@@ -205,29 +206,45 @@ work for each request, for example, dispatching requests to the origin server and caching contents.

For example, to make nghttpx listen to encrypted HTTP/2 requests at port 8443, and a backend HTTP/1 proxy server is configured to listen -to HTTP/1 request at port 3128 in the same host, run nghttpx +to HTTP/1 request at port 8080 in the same host, run nghttpx command-line like this:

-
$ nghttpx -s -f0.0.0.0,8443 -b127.0.0.1,3128 /path/to/server.key /path/to/server.crt
+
$ nghttpx -s -f'*,8443' -b127.0.0.1,8080 /path/to/server.key /path/to/server.crt
 
-

At the time of this writing, there is no known HTTP/2 client which -supports HTTP/2 proxy in this fashion. You can use Google Chrome to -use this as secure (SPDY) proxy to test it out, though it does not use -HTTP/2 at all.

-

The one way to configure Google Chrome to use secure proxy is create -proxy.pac script like this:

+

At the time of this writing, Firefox nightly supports HTTP/2 proxy. +Chromium can use nghttpx as secure (SPDY) proxy and will support +HTTP/2 proxy in the near future.

+

To make Firefox nightly or Chromium use nghttpx as HTTP/2 or SPDY +proxy, user has to create proxy.pac script file like this:

function FindProxyForURL(url, host) {
     return "HTTPS SERVERADDR:PORT";
 }
 

SERVERADDR and PORT is the hostname/address and port of the -machine nghttpx is running. Please note that Google Chrome requires -valid certificate for secure proxy.

-

Then run Google Chrome with the following arguments:

+machine nghttpx is running. Please note that both Firefox nightly and +Chromium requires valid certificate for secure proxy.

+

For Firefox nightly, open Preference window and select Advanced then +click Network tab. Clicking Connection Settings button will show the +dialog. Select “Automatic proxy configuration URL” and enter the path +to proxy.pac file, something like this:

+
file:///path/to/proxy.pac
+
+
+

For Chromium, use following command-line:

$ google-chrome --proxy-pac-url=file:///path/to/proxy.pac --use-npn
 
+

Squid may work as out-of-box. Traffic server requires to be +configured as forward proxy. Here is the minimum configuration items +to edit:

+
CONFIG proxy.config.reverse_proxy.enabled INT 0
+CONFIG proxy.config.url_remap.remap_required INT 0
+
+
+

Consult Traffic server documentation +to know how to configure traffic server as forward proxy and its +security implications.

Client mode

diff --git a/objects.inv b/objects.inv index 6968db6c..45d9551d 100644 Binary files a/objects.inv and b/objects.inv differ diff --git a/package_README.html b/package_README.html index 31b4ced4..f492cc95 100644 --- a/package_README.html +++ b/package_README.html @@ -184,18 +184,17 @@ header compression Large header (CONTINUATION) Yes -BLOCKED extension +ALTSVC extension Yes *1 -ALTSVC extension -Yes *2 - +

BLOCKED frame, which once existed in h2-12, was removed in h2-13.

Public Test Server

@@ -597,7 +596,7 @@ sample configuration file nghttpx

With --http2-proxy option, it works as so called secure proxy (aka SPDY proxy):

Client <-- (HTTP/2, SPDY, HTTP/1.1) --> nghttpx <-- (HTTP/1.1) --> Proxy
-                                       [secure proxy]            (e.g., Squid)
+                                       [secure proxy]          (e.g., Squid, ATS)
 

The Client in the above is needs to be configured to use diff --git a/searchindex.js b/searchindex.js index 886bde02..dc1bcd37 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({envversion:42,terms:{my_obj:[5,8],create_serv:2,nghttp2_io_flag:8,nghttp2_cancel:[5,8],prefix:[4,8,5],nghttp2_priority_spec_init:[5,8],nghttp2_session_get_stream_effective_local_window_s:[5,8],op_al:[6,2],"const":[4,8,7,5],"535d0eea":6,"0x20":[5,8,6],under:[5,8,6],bufferevent_getfd:7,spec:[5,8],merchant:[4,8,7,3],digit:7,"void":[4,8,7,5],bufferevent_ssl:[4,7],affect:1,initialize_nghttp2_setup:[4,7],verif:7,nghttp2_settings_initial_window_s:[5,8],warnx:[4,7],on_stream_close_callback:[4,8,7,5],direct:6,aggreg:9,even:9,ssl_op_no_session_resumption_on_renegoti:[4,7],neg:[5,8],nghttp2_err_insuff_bufs:[5,8],"new":[4,8,6,5],tatsuhiro:[0,1,3,4,6,7,8],nghttp2_session_resume_data:[5,8],ipproto_tcp:[4,7],abov:[4,3,5,6,7,8],initialize_app_context:4,never:[5,8],here:[4,1,5,6,7,8],met:[4,8,7,5],"4xx":[6,1],path:[4,6,9,2,7],settings_timeout:[5,8],interpret:[5,8],nextprotoneg:[5,8],sslv23_server_method:4,nghttp2_submit_:[4,7],permit:[4,8,7,3],nghttp2_submit_prior:[5,8],aka:[5,8,6],nghttp2_frame:[4,8,7,5],bufferevent_ssl_connect:7,substr:4,bev_event_error:[4,7],printabl:7,total:[5,8,6,1],unit:6,describ:[4,5,6,7,8,9],would:[5,8],nghttp2_flag_pad:[5,8],call:[4,2,5,6,7,8,9],asset:6,recommend:6,nghttp2_on_invalid_frame_recv_callback:[5,8],nghttp2_version:[5,8,3],until:[5,8,2],reusabl:6,relat:[4,7],nghttp2_cleartext_proto_version_id_len:[5,8],warn:[4,8],nghttp2_option_set_peer_max_concurrent_stream:[5,8],ssl_shutdown:[4,7],herebi:[4,8,7,3],unpack:[5,8],must:[4,2,5,6,8,9],word:[5,8],err:[4,7],exit_failur:[4,7],setup:[4,7],work:[4,6,9,2],lev_opt_close_on_fre:4,nghttp2_flag_ack:[5,8],root:[4,6],syn_repli:[5,8,1],defer:[4,8,7,5],give:[5,8,6,2],indic:[4,8,2,7,5],want:[4,2,5,7,8,9],select_padding_callback:[5,8],unsign:[4,8,7,5],end:[4,8,7,5],thing:[4,8,7,5],datalen:[4,7],how:5,nghttp2_err_fat:[5,8],hop:[5,8],negoti:6,nghttp2_frame_typ:[5,8],updat:[5,8],nghttp2_msg_more:8,after:[4,1,5,6,7,8],nghttp2_option:[5,8],badli:[5,8],demonstr:7,request_path:4,third:[4,8,7,5],opaqu:[5,8,9],bootstrap:6,exclud:[5,8],receiv:[4,1,2,5,6,7,8],exclus:[5,8],first:[4,1,2,5,6,7,8],order:[4,8,6,1,5],oper:[5,8,6,9],frontend:[6,9],over:[4,8,6,7,5],becaus:[4,8,2,7,5],eagain:[4,7],fit:[4,8,7,3],nghttp2_session_get_stream_remote_window_s:[5,8],fwrite:[5,8,7],"9d33":6,deflate_s:6,hidden:[5,8],them:[4,5,6,7,8,9],nghttp2_hd_deflate_del:[5,8],thei:[4,1,2,5,6,7,8],fragment:6,safe:[4,8,5],"break":[4,8,7,5],promis:[5,8],choic:[5,8],ai_addr:4,timeout:[4,7],each:[4,2,5,6,7,8,9],debug:[5,8,7],side:[4,8,6,5],mean:[5,8,2,7],slen:4,protocol_error:[5,8],nghttp2_select_padding_callback:[5,8],http2_stream_data:[4,7],nghttp2_session_server_new2:[5,8],deflater_ptr:[5,8],network:[4,7],newli:[5,8,7],content:[0,6,9,2,4],hd_table_bufsize_max:2,prioriti:[5,8],situat:[4,1,7],free:[4,8,7,3,5],standard:2,b127:9,spdy:[5,8,6,1,9],openssl:[4,6,7],nghttp2_version_num:[5,8,3],sigact:[4,7],rang:[5,8,6],deflate_max_header_table_s:2,restrict:[4,8,7,3],nghttp2_protocol_error:[5,8],alreadi:[4,8,7,5],payload:[5,8,1],top:[6,9,2],sometim:1,too:[4,8,5],similarli:5,sigpip:[4,7],listen:[4,6,9],tool:5,lighttpd:6,travers:4,target:[5,8,6,2],provid:[4,2,3,5,6,7,8],tree:6,rate:[],project:[0,6],matter:[5,8],fashion:9,nghttp2_continu:[5,8],nv_out:[5,8],manner:1,increment:[5,8],nghttp2_option_set_no_auto_stream_window_upd:[5,8],nghttp2_session_recv:[5,8],latter:[5,8,2],nghttp2_session_get_stream_effective_recv_data_length:[5,8],transmit:[5,8,7],sig_ign:[4,7],shall:[4,8,7,3],object:[4,2,5,6,7,8],writecb:[4,7],nghttp2_settings_timeout:[5,8],bytesio:[6,2],simplic:7,nghttp2_hd_inflate_end_head:[5,8],hex_to_uint:4,doc:6,flow:5,doe:[4,2,5,6,7,8,9],opaque_data:[5,8,6],sum:[6,1],on_invalid_frame_recv_callback:[5,8],bev_event_eof:[4,7],pkg:6,identifi:[4,8,2,5],bufferevent_setcb:[4,7],make:[4,2,5,6,8,9],involv:[5,8],absolut:9,libari:6,explain:[9,7],configur:[5,8,6,9,2],nghttp2_err_invalid_stream_id:[5,8],busi:[4,7],nghttp2_cleartext_proto_version_id:[5,8],nghttp2_err_proto:[5,8],authoritylen:7,stop:[4,8,7,5],end_head:[5,8,6],evbuffer_drain:[4,7],nghttp2_no_error:[5,8,7],bar:[6,2],ai_pass:4,ietf:[0,8,6,5],baz:[6,2],push_promis:[4,8,5],method:[4,2,5,6,7,8],nghttp2_strerror:[4,8,7,5],bufferevent_ssl_accept:4,serve_forev:[6,2],nul:[5,8],result:[4,8,1,7,5],respons:[4,1,2,5,6,7,8],fail:[4,1,5,6,7,8,9],key_fil:4,subject:[4,8,7,3],said:[5,8],figur:6,bev_opt_close_on_fre:[4,7],accord:[5,8],extens:[5,8,6,2,7],advertis:[4,7],setsockopt:[4,7],bev:[4,7],nghttp2_hd_deflate_hd:[5,8],against:[5,8,6],ssl_ctx_use_certificate_chain_fil:4,header_t:6,logic:4,browser:[6,9],com:[0,8,6,9,5],int32_t:[4,8,7,5],assum:[5,8,9,2],option_ptr:[5,8],duplic:[5,8],reciev:7,liabil:[4,8,7,3],evbuffer_get_length:[4,7],chrome:[6,9],tlsv1:6,max_deflate_s:6,been:[4,8,7,5],trigger:[5,8],interest:[4,6,7],tini:7,life:4,regul:[4,7],worker:9,ani:[4,2,3,5,6,7,8,9],ewouldblock:[4,7],load_cert_chain:[6,2],ssl_op_no_compress:[4,7],emploi:1,servic:[4,6],properti:[4,7],calcul:1,publicli:6,nghttp2_on_begin_headers_callback:[5,8,7],bev_event_timeout:[4,7],bufferevent_socket_connect_hostnam:7,nghttp2_inadequate_secur:[5,8],nghttp2_set:[5,8],promised_stream_id:[5,8],conf:6,sever:[4,8,6,9,5],on_data:[6,2],perform:[4,1,2,5,6,8,9],dhe:6,transpar:[5,8],headlen:[5,8],split:[5,8],version_str:[5,8],nghttp2_on_stream_close_callback:[5,8,7],complet:[4,8,7,5],start_listen:4,bufferevent_openssl_get_ssl:[4,7],nghttp2_err_deferred_data_exist:[5,8],rais:2,ssl_ctx_new:[4,7],zlib1g:6,ownership:[5,8],niv:[5,8,6],thu:[4,8,6,9,5],nghttp2_session_get_effective_local_window_s:[5,8],inherit:2,origin_len:[5,8],client:[5,8],thi:[0,1,2,3,4,5,6,7,8,9],endif:[4,8,3],gzip:6,everyth:6,left:[5,8],protocol:5,just:[4,5,6,7,8,9],initiate_connect:7,ifdef:[4,8],yet:[5,8],previous:[5,8],easi:6,settings_hd_table_bufsize_max:[5,8],els:[4,7],applic:[4,1,2,5,6,7,8],nghttp2_nv_flag:[5,8],initialize_nghttp2_sess:[4,7],specif:[4,8,2,7,5],arbitrari:[5,8],http2_session_data:[4,7],client_addr:4,manual:[6,9],html:[0,8,6,5,4],tcp_nodelai:[4,7],unnecessari:[5,8],underli:[4,7],www:[5,8,9],right:[4,8,7,3],deal:[4,8,7,3,5],intern:[5,8],successfulli:[4,8,7,5],transmiss:[4,8,7,5],requesthandlerclass:[6,2],ni_numerichost:4,bottom:[5,8],nghttp2_data_source_read_callback:[5,8],subclass:[6,2],track:[4,6,7],condit:[4,8,7,3,5],foo:[6,2],localhost:[9,6,1],core:6,plu:1,sensibl:[5,8],insecur:9,repositori:[4,7],peer:[4,8,7,5],post:[5,8,6],cacert:9,nghttp2_submit_data:[5,8],nghttp2_settings_max_concurrent_stream:[4,8,7,5],produc:[5,8],f127:9,evbuff:[4,7],encod:[4,8,6,2,5],bound:[5,8],down:[4,7],pair:[4,2,5,6,7,8],errx:[4,7],git:[5,8],session_send:[4,7],wai:[5,8,6,9],support:[4,1,5,6,7,8,9],suppors:9,avail:[4,2,5,6,7,8,9],overhead:6,fork:6,head:[4,8,5],form:[5,8,6,2],offer:[6,2],bev_event_connect:[4,7],heap:6,"true":[6,2],hddeflat:[6,2],ssl_ctx_free:[4,7],maximum:[5,8,6],tell:[4,8,2,7,5],deafult:6,autoconf:6,emit:[4,8,7,5],nghttp2_initial_window_s:[5,8],featur:6,httpbi:[0,8,6,5],"abstract":[4,7],decrypt:1,unreleas:6,exist:[5,8,6,9],protocol_id_len:[5,8],ai_flag:4,ends_with:4,check:[4,8,7,5],delete_http2_session_data:[4,7],encrypt:9,when:[4,2,5,6,7,8],role:[4,8,5],test:9,send_client_connection_head:7,unlimit:[5,8],heder:[5,8],intend:[4,9],af_unspec:[4,7],nghttp2_option_new:[5,8],nghttp2_max_window_s:[5,8],technot:[5,8],notic:[4,8,7,3],max_siz:6,evconnlistener_new_bind:4,longer:[4,6],nghttp2_check_header_nam:[5,8],ignor:[4,8,1,5],time:[4,2,5,6,8,9],push:[5,8,6,2],skip:[5,8],consum:5,nghttp2_on_frame_recv_callback:[5,8,7],nghttp2ver_h:3,decid:[5,8,2],create_ssl_ctx:[4,7],depend:[4,5,6,7,8,9],readabl:7,sourc:[0,8,7,5,4],string:[4,2,5,6,7,8],nghttp2_settings_enable_push:[5,8],nghttp2_hd_inflate_new:[5,8],host_len:[5,8],exact:[5,8],level:[4,8,1,2,5],did:[5,8,7],item:6,settings_id:[5,8],conhead:4,round:1,prevent:[5,8,6],nghttp2_hd_deflate_set_no_refset:[5,8],sign:9,port:[4,1,2,5,6,7,8,9],data_flag:[4,8,5],appear:[5,8,6],event_base_fre:[4,7],current:[4,8,6,2,5],"switch":[4,6,7],nghttp2_err_data_exist:[5,8],gener:[5,8,6],onli:[4,5,6,7,8,9],nghttp2_hd_inflate_del:[5,8],address:[6,9,2],connect_error:[5,8],queue:[4,8,7,5],behav:[5,8,9],ourselv:[4,7],nghttp2_err_goaway_already_s:[5,8],regardless:[5,8],extra:[6,7],modul:[6,2],prefer:[5,8],instal:6,hdinflat:[6,2],memori:[4,8,2,7,5],bufferevent_get_output:[4,7],handler:[6,2],strdup:4,prev:4,share:[5,8,6,2],rst_stream:[4,8,7,5],ctype:4,nghttp2_submit_window_upd:[5,8],prepar:[5,8],cap:2,stream_user_data:[5,8,7],cat:[4,8,7,5],descriptor:[4,8,5],whatev:2,http2:[0,2,5,6,8,9],purpos:[4,8,7,3],uf_path:7,claim:[4,8,7,3],stream:[4,1,2,5,6,7,8],agent:6,critic:[5,8],abort:[5,8],nghttp2_header:[4,8,7,5],occur:[5,8,2],alwai:[4,8,5],multipl:5,ping:[5,8],write:[],mar:6,sslcontext:[6,2],max:[5,8,6,1,7],intrus:4,mac:6,mai:[4,1,2,5,6,7,8,9],acceptcb:4,data:[4,1,2,5,6,7,8],autotool:6,stdin:6,inform:[4,8,6,7,5],nghttp2_err_flow_control:[5,8],combin:[5,8],talk:[4,6],nghttp2_err_stream_shut_wr:[5,8],size_t:[4,8,7,5],nghttp2_err_unsupported_vers:[5,8],still:[4,8,6,5],pointer:[4,8,5],dynam:[5,8,6,2],entiti:4,disconnect:[4,7],precondit:[5,8],nghttp2_priority_spec:[5,8],tort:[4,8,7,3],window:[5,8,1],main:[4,7],non:[4,1,2,5,6,7,8,9],synopsi:[4,7],env:[6,2],"5xx":[6,1],nghttp2_submit_head:[5,8],nghttp2_on_header_callback:[4,8,7,5],now:[5,8],name:[4,2,5,6,7,8],version_num:[5,8],config:6,no_error:6,drop:[4,8,7,5],css:[6,2],millisec:[6,1],replac:[5,8],individu:[5,8,9],continu:[4,8,6,7,5],event_base_loop:[4,7],turoti:7,happen:[4,2,7],ai_addrlen:4,libjemalloc:6,space:[5,8,6],output_length:6,earlier:[4,7],event_base_new:[4,7],ssl_filetype_pem:4,argv:[4,7],org:[0,8,6,5],"byte":[4,1,2,5,6,7,8],argc:[4,7],care:[5,8],nghttp2_opt_no_auto_connection_window_upd:[5,8],nghttp2_hd_deflate_change_table_s:[5,8],nghttp2ver:[5,8],"88448504252dd5918485":6,befor:[4,1,2,5,6,8],turn:9,nghttp2_flag_non:[4,8,7,5],place:[5,8],evdns_base_new:7,origin:[5,8,6,9],directli:[4,8,7,5],carri:[5,8],onc:[5,8],arrai:[5,8,6,7],yourself:6,nghttp2_is_fat:[5,8],nghttp2_flow_control_error:[5,8],submit:[5,8,7],on_frame_recv_callback:[4,8,7,5],open:[4,8,6,5],size:[4,1,2,5,6,8],given:[5,8,6,1,2],necessarili:[5,8],draft:[0,8,6,5],internal_error:[5,8],conveni:[5,8,2],ssl_ctx:[4,8,7,5],copi:[4,2,3,5,7,8],specifi:[5,8],on_head:[6,2],mostli:6,holder:[4,8,7,3],than:[4,1,2,5,6,8],serv:4,wide:4,nghttp2_session_get_outbound_queue_s:[5,8],were:[4,8,7,5],posit:[5,8],read_callback:[4,8,5],nghttp2_min_weight:[5,8],enhance_your_calm:[5,8],sai:[5,8],pri:8,argument:[4,2,5,6,7,8,9],deliv:[5,8],saw:9,sat:6,bitwis:[5,8],event_bas:[4,7],nghttp2_flag_prior:[5,8],destroi:[4,7],payloadlen:[5,8],note:[4,1,5,6,7,8,9],take:[4,8,6,7,5],deflate_hd_table_bufsize_max:[5,8],noth:[5,8,6,9,2],begin:7,sure:[4,6,7],normal:[5,8],buffer:[4,8,6,7,5],compress:[0,8,6,2,5],nghttp2_hcat_request:[4,8,5],pathlen:7,sublicens:[4,8,7,3],nghttp2_before_frame_send_callback:[5,8],http2_select:[5,8],later:[4,1,2,5,7,8,9],gracefulli:[5,8,7],show:2,unprocess:[4,7],concurr:[4,8,6,1,5],permiss:[4,8,7,3],nghttp2_session_set_stream_user_data:[4,8,5],threshold:4,print_hd_tabl:2,pad_high:[5,8],explicitli:2,end_seg:[5,8],state:[4,8,6,5],"short":[4,7],overwritten:[5,8],reset:7,variou:[5,8],get:[4,2,5,6,7,8,9],outlen:[5,8,7],ssl:[5,8],cannot:[4,8,9,2,5],nghttpd:9,requir:[5,8,9],nghttp2_set_stream_user_data:4,burst:9,reserv:[5,8,6],nghttp2_settings_entri:[4,8,7,5],op_no_sslv2:[6,2],detect:[5,8,6,2],weighttp:6,nghttp2_hd_inflate_fin:[5,8],enough:[5,8],between:9,"import":[6,2],fcntl:4,awaaagqeaad__wuaaaab:6,pipefd:4,evdns_bas:7,come:1,submit_request:7,edch:6,contract:[4,8,7,3],fontend:9,tutori:[],mani:[5,8],nghttp2_ext_frame_typ:[5,8],nghttp2_data_provid:[4,8,5],inspir:6,nghttp2_err_too_many_inflight_set:[5,8],dispatch:9,cancel:[5,8],damag:[4,8,7,3],http2server:[6,2],header_table_s:6,netdb:4,nghttp2_on_unknown_frame_recv_callback:[5,8],nghttp2_err_buffer_error:[5,8],those:[4,8,1,7,5],"case":[4,2,5,6,7,8,9],hdr:[4,6,2,7],invok:[4,2,5,6,7,8,9],invoc:[4,8,2,5],margin:2,region:[5,8],valuelen:[4,8,7,5],on_data_chunk_recv_callback:[5,8,7],stdout:[6,7],"0x000402":3,ascii:[5,8],develop:[],author:[4,2,3,6,7,8],bev_opt_defer_callback:[4,7],alphabet:[5,8],same:[4,2,5,6,8,9],ssl_library_init:[4,7],binari:7,pac:[6,9],pad:[5,8],document:[8,3],finish:[4,1,5,6,7,8],decompress:[5,8,6,1,2],handshake_leftlen:4,extern:8,postpon:[5,8],ai_next:4,without:[4,2,3,5,6,7,8,9],evict:[5,8],nghttp2_push_promis:[5,8],on_request_don:[6,2],event2:[4,7],nghttp2_err_def:[5,8],nghttp2_submit_set:[4,8,7,5],execut:[6,2],rest:1,multiplex:4,hint:4,except:[5,8,2],identif:[5,8],nghttp2_select_next_protocol:[5,8,7],nghttp2_ext_altsvc:[5,8],real:9,unistd:[4,7],read:[5,8],nghttp2_version_ag:[5,8],rfc2616:[5,8],nghttp2_check_header_valu:[5,8],traffic:[6,1],nghttp2_hd_inflate_change_table_s:[5,8],next_proto_cb:4,integ:[5,8],server:[5,8,9],either:[4,8,2,5],output:[4,2,5,6,7,8],manag:[4,8,5],stream_clos:[5,8],protocol_sslv23:[6,2],set_no_refset:2,ssl_ctx_set_next_protos_advertised_cb:4,handshak:[4,7],nonzero:[4,8,5],easili:7,"2xx":[6,1],exit:[4,7],data_ptr:[5,8],power:6,base64url:[5,8],nghttp2_session_server_new:[4,8,5],found:[4,8,5],getnameinfo:4,refers:2,src:6,inflater_ptr:[5,8],ack:[5,8,6],nghttp2_recv_callback:[5,8],settings_payload:[5,8],act:[4,9,7],routin:[4,7],consid:6,least_vers:[5,8],error_repli:4,your:6,b2a_hex:[6,2],nghttp2_hcat_respons:[5,8,7],hex:[4,6],strict:6,nghttp2_err_stream_clos:[5,8],interfac:2,low:[5,8],lot:[5,8],ipv6:6,strictli:[5,8,1,2],next_proto_list:4,nghttp2_proto_version_id_len:[4,8,5],tupl:[6,2],nghttp2_err_invalid_st:[5,8],satur:6,nghttp2_flag_end_seg:[5,8],possibl:[4,8,7,5],"default":[5,8],applayerprotoneg:[5,8],hpack:[5,8],err_get_error:[4,7],expect:[6,2],creat:[4,5,6,7,8,9],file_read_callback:4,decreas:[5,8],file:[4,3,5,6,7,8,9],nghttp2_err_invalid_header_block:[5,8],fill:[4,8,5],denot:[5,8,7],functypedef:8,googl:[6,9],field_set:7,kbyte:[6,1],field:[4,2,5,6,7,8],valid:[5,8,6,9],nghttp2_prioriti:[5,8],print_head:7,you:[4,2,5,6,7,8,9],sequenc:[4,2,5,6,7,8],promised_stream_user_data:[5,8],reduc:[5,8],cunit:6,directori:[4,6,7],represent:[5,3],all:[4,2,3,5,7,8,9],on_unknown_frame_recv_callback:[5,8],illustr:[6,2],nghttp2_err_start_stream_not_allow:[5,8],follow:[4,1,2,3,5,6,7,8,9],alt:6,ptr:[4,8,7,5],app_cont:4,uint8_t:[4,8,7,5],articl:9,readcb:[4,7],program:9,bufferevent_writ:[4,7],uf_queri:7,evbuffer_remov:4,fals:6,pad_low:[5,8],settings_header_table_s:[5,8],util:9,nghttp2_client_connection_header_len:[5,8],failur:[5,8],veri:[5,8,7],bottleneck:1,"__cplusplu":8,list:[4,8,2,5],nghttp2_headers_categori:[5,8],adjust:[5,8,6,1],stderr:[4,8,6,7,5],small:[5,8],inflate_header_block:[5,8],session_recv:4,zero:[5,8],pass:[5,8,2,7],further:[4,8,7,5],what:[5,8,6,9,2],sub:4,sun:6,section:[5,8],delet:[5,8,7],version:5,"public":[5,8],libjansson:6,varnish:6,padlen:[5,8,6],percentage_of_original_s:6,excess:4,modifi:[4,8,6,7,3],valu:[4,2,5,6,7,8],search:4,ai_addrconfig:4,nghttp2_err_push_dis:[5,8],on_clos:[6,2],prior:6,amount:[4,8,2,7,5],action:[4,8,7,3,5],via:[4,5,6,7,8,9],primit:7,put:[5,8],famili:[4,7],establish:[4,7],select:5,regist:4,libev:6,taken:[5,8],minor:[5,3],more:[4,8,6,7,5],tsujikawa:[4,8,7,3],nghttp2_settings_header_table_s:[5,8],default_header_table_s:2,site:6,flag:[4,8,6,7,5],aris:[4,8,7,3],known:9,nghttp2_err_wouldblock:[4,8,7,5],cach:[6,9],none:[6,2],endpoint:[5,8,6],dev:[6,3],remain:[4,8,7,5],def:[6,2],emiss:[5,8],accept:[4,8,6,5],minimum:[4,8,5],ssl_op_al:[4,7],nghttp2_submit_altsvc:[5,8],create_ssl:[4,7],strlen:[4,7],huge:[4,7],netinet:[4,7],secur:[6,9],anoth:[5,8,9],serveraddr:[6,9],reject:[5,8],sec9:[5,8],simpl:[4,8,7,5],hd_inflat:[5,8],resourc:5,referenc:6,variant:[5,8],spdylai:[9,6,1],nghttp2_client_connection_preface_len:[4,8,7,5],associ:[4,2,3,5,6,7,8],github:[0,6,1],caus:[5,8],callback:[4,2,5,6,7,8],nghttp2_nv_flag_non:[4,8,7,5],alpn:[5,8,6,9,2],authroiti:7,max_ag:[5,8],hypertext:[0,6],libcunit1:6,through:[4,6,9],paramet:[5,8,7],style:[6,2],nghttp2_hcat_push_respons:[5,8],pend:[4,8,7,5],nghttp2_err_eof:[5,8],progoram:7,nghttp2_nv_flag_no_index:[5,8],"0x010203":[5,3],"return":[4,1,2,5,6,7,8,9],check_path:4,nghttp2_initial_max_concurrent_stream:[5,8],readlen:[4,7],nghttp2_err_callback_failur:[4,8,7,5],tear:[4,7],achiev:[4,8,5],fulli:[4,8,5],unicod:2,trailer:[5,8],nghttp2_on_frame_send_callback:[5,8],weight:[5,8],realli:[9,7],nghttp2_hd_inflate_flag:[5,8],connect:[4,1,3,5,6,7,8,9],todo:[5,8],event:[4,2,3,6,7,8],app_ctx:4,ftw:[6,2],publish:[4,8,7,3],primari:[5,8],etag:6,print:[6,2,7],on_frame_not_send_callback:[5,8],proxi:[],differ:[5,8,9],uf_host:7,reason:[4,8,2,5],base:[4,6],ask:[5,8],nghttp2_session_mem_recv:[4,8,7,5],nghttp2_flag:[5,8],recv:6,prefac:[4,8,9,7,5],omit:[5,8,2,7],nghttp2_err_invalid_stream_st:[5,8],assign:[4,8,7,5],feed:[4,8,7,5],major:[5,3],notifi:[4,8,5],upper:[5,8,2],number:[4,1,2,3,5,8],done:[4,9,6,1,7],construct:[5,8,6,2],stdlib:8,nghttp2_internal_error:[4,8,5],script:[6,9,2],data_prd:[4,8,5],nghttp2_session_get_stream_user_data:[4,8,5],least:[5,8,6],scheme:[6,2,7],store:[4,8,7,5],input_length:6,memset:[4,7],option:[4,1,2,5,6,7,8,9],memcmp:4,nghttp2_client_connection_head:[5,8],part:1,pars:7,window_upd:[5,8,6],doubli:4,remot:[4,8,7,5],remov:[4,8,6,5],bridg:[],str:2,consumpt:[4,7],nghttp2_error:[5,8],window_size_incr:[5,8,6],lib_error_cod:[5,8],arrlen:[4,7],packag:6,"null":[4,8,7,5],syn_stream:[5,8],sell:[4,8,7,3],outbound:[5,8],built:[6,1],equival:[5,8],self:[6,9,2],also:[4,1,5,6,7,8,9],append:2,nghttp2_err_frame_size_error:[5,8],make_nv:[4,7],distribut:[4,8,7,3],reacb:7,reach:[5,8],chart:[5,8],most:[5,8],charg:[4,8,7,3],addr:4,"01881f3468e5891afcbf83868a3d856659c62e3f":6,o_rdonli:4,frame_size_error:[5,8],cover:[6,9],ext:[5,8],h2c:[8,6],pri_spec:[5,8],hdtabl:2,rtt:[5,8],session:[4,8,6,7,5],fine:[5,8],nghttp2_submit_push_promis:[5,8],copyright:[4,8,7,3],refused_stream:[5,8],nghttp2_opt_no_auto_stream_window_upd:[5,8],queu:[4,8,7,5],remedi:1,express:[4,8,7,3],kind:[4,8,7,3,5],nativ:[6,1],"3xx":[6,1],liabl:[4,8,7,3],before_frame_send_callback:[5,8],retreiv:7,crt:[4,6,9,2],certif:[],set:[4,1,2,5,6,7,8],seq:6,ousid:6,remove_stream:4,nghttp2_submit_goawai:[5,8],sec:[6,1],arg:[4,8,7,5],close:[4,2,5,6,7,8],jemalloc:6,analog:[5,8],strchr:4,someth:[5,8],won:[4,8,5],hold:[5,8],nghttp2_on_data_chunk_recv_callback:[5,8,7],altern:6,numer:[5,8,3],sole:[5,8],writelen:4,succeed:[6,1],percent_decod:4,both:[4,1,5,6,7,8,9],last:[5,8,6],delimit:6,nghttp2_data_flag_non:[5,8],nghttp2_session_want_writ:[4,8,7,5],tempor:[5,8],context:[4,5,6,7,8,9],compression_error:[5,8],whole:[5,8,6,2],load:6,simpli:[4,7],point:[4,8,7,5],header:[5,8],shutdown:[4,8,7,5],nghttp2_session_client_new:[5,8,7],nghttp2_session:[4,8,7,5],backend:[6,9],due:[5,8],empti:[4,2,5,6,7,8],send_respons:[4,6,2],whom:[4,8,7,3],stdint:8,add_stream:4,flight:[5,8],nghttp2_err_nomem:[5,8],settings_enable_push:[5,8],nghttp2_session_terminate_sess:[5,8,7],buflen:[5,8],func:8,next_proto_list_len:4,look:[4,1,7],"while":[4,8,7,5],behavior:[5,8],error:[4,1,2,5,6,7,8],robin:1,loop:[4,6,2,7],malloc:[4,7],nghttp2_session_callback:[4,8,7,5],readi:4,user_data:[4,8,7,5],itself:[4,8,1,7,5],flow_control_error:[5,8],grant:[4,8,7,3],belong:[5,8],create_http2_session_data:[4,7],decod:[4,8,6,2,5],uf_schema:7,mytyp:[5,8],inflat:[5,8,6,2],moment:6,user:[5,8,6,9,7],implement:[0,4,5,6,7,8],recent:[5,8],nghttp2_h:8,noninfring:[4,8,7,3],entri:[5,8,6,2],nghttp:9,person:[4,8,7,3],uint32_t:[4,8,5],on_frame_send_callback:[5,8],nghttp2_ping:[5,8],input:[4,8,6,7,5],subsequ:[5,8,2],build:[],bin:[6,2],on_begin_headers_callback:[4,8,7,5],obsolet:[5,8],format:[4,5,6,7,8,9],http_parser:7,nginx:6,bit:[5,8,3],strstr:4,foobarbuzz:6,signal:[4,8,7,5],lib_error:[5,8],some:[4,2,5,7,8,9],back:[5,8],sampl:6,sizeof:[4,7],libssl:6,lev_opt_reus:4,though:9,per:[9,6,1,2],pem:9,larg:[5,8,6],make_nv2:7,settings_compress_data:6,machin:[6,9],run:[4,2,5,6,7,8,9],step:[5,8],handshake_readcb:4,nghttp2_hd_inflate_emit:[5,8],commun:[4,6,7],idl:[5,8],block:[4,1,2,5,6,7,8],nghttp2_err_paus:[5,8],nsm:8,within:6,nghttp2_send_callback:[5,8,7],chang:[4,8,1,2,5],announc:6,occupi:[6,2],inclus:[5,8],errno:4,bodi:[4,1,2,5,6,7,8],"long":[5,8,6],nghttp2:5,suit:6,forward:[5,8,6,9],change_table_s:2,session_ptr:[5,8],repeatedli:[5,8],link:[4,6,9],translat:9,ni_maxhost:4,don:[4,8,6,5],line:[9,6,1],mitig:6,concaten:[5,8],utf:2,caller:[4,8,5],nghttpx:[],clear:5,parser:7,repres:[5,8],"char":[4,8,7,5],incomplet:6,sublen:4,curl:9,titl:4,invalid:[5,8],librari:5,particular:[4,8,7,3,5],nghttp2_default_header_table_s:[5,8],libtool:6,create_http2_stream_data:[4,7],algorithm:[5,8],svc:6,nghttp2_submit_request:[5,8,7],namelen:[4,8,7,5],far:[4,7],avoid:[4,8,6,7,5],asyncio:[6,2],getaddrinfo:4,code:[4,1,2,5,6,7,8],queri:7,nghttp2_frame_hd:[5,8],cython:6,privat:[4,6,9],send:[4,2,5,6,7,8,9],http_parser_url:7,lower:[5,8,9],sens:[5,8],fatal:[4,8,7,5],nghttp2_data_flag:[5,8],sent:[4,8,7,5],nghttp2_submit_p:[5,8],untouch:[5,8],relev:[4,7],tri:[5,8,9],magic:[4,7],http_parser_parse_url:7,"try":[5,8,6],microsec:[6,1],pleas:[4,1,5,6,7,8,9],impli:[4,8,7,3],smaller:6,snprintf:7,"0x0":[5,8],download:[0,6],c100:1,client_address:[6,2],index:[5,8,6],compar:[5,8],access:[5,8,6,9,2],experiment:0,nghttp2_hd_deflate_new:[5,8],can:[4,2,5,6,7,8,9],inspect:[5,8],ssl_ctx_set_opt:[4,7],nghttp2_enhance_your_calm:[5,8],len:[4,8,7,5],closur:[5,8,2,7],nghttp2_rst_stream:[5,8],ubuntu:6,becom:[4,8,1,3,5],sinc:[4,5,6,7,8,9],larger:[5,8,2],ctx:[6,2],host:[0,1,2,4,5,6,7,8,9],autoreconf:6,jansson:6,greac:[4,7],typic:6,set_npn_protocol:2,output_wouldblock_threshold:4,apr:6,appli:[5,8],gatewai:9,bufferev:[4,7],from:[5,8,9,3],dnsbase:7,binascii:[6,2],upgrad:[5,8,6,9],next:[4,8,7,5],findproxyforurl:[6,9],usr:[6,2],nghttp2_nv:[4,8,7,5],nghttp2_option_del:[5,8],goawai:[4,8,6,7,5],deflat:[5,8,6,2],in_fin:[5,8],account:[5,8,6,7],retriev:[4,8,2,7,5],tunnel:6,nghttp2_settings_id:[5,8],aliv:[4,8,5],sslv23_client_method:7,control:5,process:[4,2,5,6,7,8],nghttp2_session_get_remote_set:[5,8],high:2,fprintf:[4,8,7,5],onlin:[5,6],serial:[4,8,7,5],evdns_base_fre:7,no_refset:[5,8,2],nghttp2_session_want_read:[4,8,7,5],gcm:6,ssl_ctx_use_privatekey_fil:4,evbas:[4,7],instead:[5,8,1,2],nullifi:[5,8],npn:[4,5,6,7,8,9],max_payloadlen:[5,8],eventcb:[4,7],nghttp2_compression_error:[5,8],alloc:[4,8,5],bind:[],nvlen:[4,8,7,5],correspond:[4,6],element:[4,8,5],issu:[0,1,5,6,8,9],stream_id:[4,2,5,6,7,8],nghttp2_connect_error:[5,8],ssize_t:[4,8,7,5],fallback:9,furnish:[4,8,7,3],move:[5,8],chosen:2,nghttp2_hd_inflate_hd:[5,8],therefor:[5,8,2,7],nghttp2_session_send:[4,8,7,5],inlen:[5,8,7],recept:[4,8,7,5],crash:[5,6],greater:[5,8],handl:[4,2,5,6,7,8],auto:1,nghttp2_goawai:[5,8],automat:[5,8],nghttp2_session_mem_send:[5,8],anyth:7,uf_port:7,mode:[],bump:[5,8],chunk:[5,8,6,2,7],ouf:[5,8],nghttp2_err_temporal_callback_failur:[4,8,5],"static":[4,8,6,7,5],our:7,patch:[5,6,3],out:[4,3,5,6,7,8,9],variabl:[6,2],req:[6,1],n1000:6,categori:[5,8,7],suitabl:[5,8],rel:4,field_data:7,recv_callback:[5,8],insid:6,cleartext:[5,8],releas:5,nghttp2_hd_inflate_non:[5,8],nghttp2_option_set_no_auto_connection_window_upd:[5,8],could:[4,8,2,7,5],keep:[4,8,6,7,5],length:[4,8,6,7,5],outsid:[5,6],retain:[5,8],softwar:[4,8,7,3],addrinfo:4,date:6,end_stream:[5,8,6],nghttp2_hd_inflat:[5,8],start:[4,1,5,6,7,8,9],unknown:[4,8,5],system:[4,9,7],messag:[5,8,7],attach:[4,7],attack:6,termin:[4,8,6,7,5],"final":[5,8],ipv4:6,request_head:[6,2],sa_handl:[4,7],enqueu:7,exactli:[4,6],nghttp2_err_header_comp:[5,8],see:[4,8,6,7,5],structur:[4,8,7,5],charact:[4,8,7,5],nghttp2_session_del:[4,8,7,5],nghttp2_default_weight:[5,8],ssl_new:[4,7],unencrypt:9,bufferevent_get_input:[4,7],corrupt:7,have:[4,8,6,7,5],tabl:[5,8,6,2],need:[5,8,6,9,7],ai_socktyp:4,"0x08":[5,8],"0x09":[5,8],"0x04":[5,8,6],"0x05":[5,8,6],"0x06":[5,8],"0x07":[5,8],"0x00":[5,8,6],"0x01":[5,8,6],"0x02":[5,8],"0x03":[5,8],nghttp2_refused_stream:[5,8],evbuffer_pullup:[4,7],which:[4,1,2,5,6,7,8,9],zlib:6,singl:[4,2,5,6,7,8],opaque_data_len:[5,8],unless:[5,8],bufferevent_openssl_socket_new:[4,7],deploy:9,settings_max_concurrent_stream:[4,8,6,7,5],cipher:6,stream_data:[4,7],noind:6,deploi:6,"class":[6,2],nghttp2_error_cod:[4,8,7,5],nghttp2_err_stream_id_not_avail:[5,8],url:[4,6,9],request:[4,1,2,5,6,7,8,9],pipe:4,determin:[5,8,6,2],nghttp2_pack_settings_payload:[5,8],"0x0d":[5,8],"0x0a":[5,8],"0x0b":[5,8],"0x0c":[5,8],ssl_load_error_str:[4,7],verbos:6,redirect:7,nghttp2_submit_rst_stream:[4,8,5],forev:2,should:[4,8,6,7,5],suppos:9,local:[5,8,9],meant:7,familiar:6,memcpi:[4,7],nghttp2_session_client_new2:[5,8],nghttp2_session_terminate_session2:[5,8],settings_initial_window_s:[5,8,6],nghttp2_data:[4,8,5],increas:[5,8],tbd:[5,8],nghttp2_submit_respons:[4,8,5],enabl:[6,9,2],nghttp2_info:[5,8],contain:[4,2,5,6,7,8,9],nghttp2_window_upd:[5,8],frame:[4,2,5,6,7,8],knowledg:6,nghttp2_hd_deflat:[5,8],temporarili:[5,8],statu:[5,8],wire:[4,6,7],correctli:[5,8],mainli:[5,8],written:[4,8,6,7,5],https_uri:7,progress:6,nghttp2_initial_connection_window_s:[5,8],kei:[4,2,5,6,8,9],entir:[4,8,5],n100000:1,last_stream_id:[5,8,6],addit:[5,8],revers:[6,9],nghttp2_proto_version_id:[4,8,7,5],equal:4,etc:[4,6,7],instanc:[5,8,6,2],grain:[5,8],uint16_t:[5,8,7],get_hd_tabl:2,nghttp2_data_flag_eof:[4,8,5],arriv:[6,2],m10:[6,1],commenc:7,respect:[5,8,7],platform:6,ssl_ctx_set_next_proto_select_cb:[5,8,7],insuffici:[5,8],compon:7,json:6,treat:[4,8,5],nghttp2_err_invalid_argu:[5,8],immedi:[5,8],nghttp2_hcat_head:[5,8],altsvc:[5,8,6],http2jp:6,iobas:2,sock_stream:4,evconnlisten:4,on_header_callback:[4,8,7,5],nghttp2_frame_size_error:[5,8],plain:[6,9,2],defin:[4,8,7,3,5],sheme:1,eintr:4,inadequate_secur:[5,8],layer:6,helper:[5,8],on_request_recv:4,libxml2:6,squid:[6,9],select_next_proto_cb:[5,8,7],archiv:[4,7],substanti:[4,8,7,3],incom:[4,2,5,6,8,9],let:[4,7],welcom:6,member:[4,8,5],python:[],ifndef:[8,3],http:5,hostnam:[6,9,2],effect:[5,8],initi:[4,1,2,5,7,8],dealloc:[5,8],inflate_flag:[5,8],off:[9,7],well:[4,7],app_context:4,exampl:[4,2,5,6,7,8,9],command:[9,6,1],choos:[5,8],error_cod:[4,2,5,6,7,8],nghttp2_data_sourc:[4,8,5],usual:[5,8],paus:[5,8],less:[5,8,1],send_callback:[4,8,7,5],half:[5,8],obtain:[4,8,7,3],tcp:[4,8,9,7,5],libnghttp2:6,heavili:6,web:[4,6,9],wed:6,cert_fil:4,send_server_connection_head:4,priorit:[5,8],addrlen:4,add:[4,8,5],c10:6,match:[4,7],gmt:6,nvu:6,know:[5,8,9],nva:[4,8,7,5],python3:[6,2],resid:[4,7],like:[4,1,2,5,6,7,8,9],success:[5,8,6],protocol_id:[5,8,6],nghttp2_flag_end_head:[5,8],nghttp2_priority_spec_check_default:[5,8],necessari:[4,8,2,5],page:[4,7],didn:6,suppli:[5,8,9],"export":4,nghttp2_session_get_effective_recv_data_length:[5,8],error_html:4,transport:[6,7],lead:[5,8],baseeventloop:2,octet:[4,7],overlap:[5,8],isxdigit:4,outgo:[4,8,5],nghttp2_session_upgrad:[5,8],delete_http2_stream_data:[4,7],settings_payloadlen:[5,8],nghttp2_nv_compare_nam:[5,8],nghttp2_extens:[5,8],about:[4,8,2,7,5],actual:[4,8,7,5],socket:[4,7],constructor:2,ssl_tlsext_err_ok:[4,8,7,5],disabl:[5,8],nghttp2_client_connection_prefac:[4,8,7,5],own:[5,8],nghttp2_err_invalid_fram:[5,8],ssl_op_no_sslv2:[4,7],warranti:[4,8,7,3],automak:6,merg:[4,8,7,3],val:[4,8,7,5],nghttp2_priority_spec_default_init:[5,8],ai_famili:4,transfer:[0,8,6,9,5],intention:[5,8],much:4,buz:[6,2],unexpect:[5,8],nghttp2_hd_deflate_bound:[5,8],bufferevent_fre:[4,7],overflow:[5,8],highest:[5,8],buf:[4,8,5],count:[5,8],succe:[5,8],nghttp2_stream_clos:[5,8],whether:[4,8,7,3],googlecod:[5,8],asynchron:[5,8],limit:[8,3],otherwis:[4,1,3,5,7,8],problem:[5,8],sockaddr:4,nghttp2_on_frame_not_send_callback:[5,8],evalu:2,strndup:7,"int":[4,8,7,5],baserequesthandl:[6,2],nghttp2_flag_end_stream:[4,8,5],allow:[5,8,6],percent:4,detail:[5,8],other:[4,3,5,7,8,9],futur:[5,8],rememb:4,stat:4,nghttp2_max_weight:[5,8],err_error_str:[4,7],rel_path:4,proto_str:[5,8],session_data:[4,7],sphinx:6,eof:[4,8,5],indirectli:5,rule:[5,8],portion:[4,2,3,5,7,8]},objtypes:{"0":"c:macro","1":"c:member","2":"c:type","3":"c:function","4":"py:module","5":"py:method","6":"py:attribute","7":"py:class","8":"py:data","9":"py:function"},objnames:{"0":["c","macro","C macro"],"1":["c","member","C member"],"2":["c","type","C type"],"3":["c","function","C function"],"4":["py","module","Python module"],"5":["py","method","Python method"],"6":["py","attribute","Python attribute"],"7":["py","class","Python class"],"8":["py","data","Python data"],"9":["py","function","Python function"]},filenames:["index","h2load-howto","python-apiref","nghttp2ver.h","tutorial-server","apiref","package_README","tutorial-client","nghttp2.h","nghttpx-howto"],titles:["nghttp2 - HTTP/2 C Library","h2load - HTTP/2 benchmarking tool - HOW-TO","Python API Reference","nghttp2ver.h","Tutorial: HTTP/2 server","API Reference","nghttp2 - HTTP/2 C Library","Tutorial: HTTP/2 client","nghttp2.h","nghttpx - HTTP/2 proxy - HOW-TO"],objects:{"":{NGHTTP2_ERR_INVALID_STATE:[5,0,1,"c.NGHTTP2_ERR_INVALID_STATE"],nghttp2_hd_inflate_end_headers:[5,3,1,"c.nghttp2_hd_inflate_end_headers"],nghttp2_nv_flag:[5,2,1,"c.nghttp2_nv_flag"],NGHTTP2_ERR_HEADER_COMP:[5,0,1,"c.NGHTTP2_ERR_HEADER_COMP"],NGHTTP2_SETTINGS_HEADER_TABLE_SIZE:[5,0,1,"c.NGHTTP2_SETTINGS_HEADER_TABLE_SIZE"],nghttp2_settings_entry:[5,2,1,"c.nghttp2_settings_entry"],NGHTTP2_INTERNAL_ERROR:[5,0,1,"c.NGHTTP2_INTERNAL_ERROR"],nghttp2_frame_hd:[5,2,1,"c.nghttp2_frame_hd"],nghttp2_on_frame_recv_callback:[5,2,1,"c.nghttp2_on_frame_recv_callback"],NGHTTP2_FLAG_PADDED:[5,0,1,"c.NGHTTP2_FLAG_PADDED"],nghttp2_priority_spec_init:[5,3,1,"c.nghttp2_priority_spec_init"],NGHTTP2_CLIENT_CONNECTION_HEADER_LEN:[5,0,1,"c.NGHTTP2_CLIENT_CONNECTION_HEADER_LEN"],nghttp2_goaway:[5,2,1,"c.nghttp2_goaway"],NGHTTP2_EXT_ALTSVC:[5,0,1,"c.NGHTTP2_EXT_ALTSVC"],nghttp2_ping:[5,2,1,"c.nghttp2_ping"],NGHTTP2_ERR_INVALID_FRAME:[5,0,1,"c.NGHTTP2_ERR_INVALID_FRAME"],nghttp2_hd_inflate_hd:[5,3,1,"c.nghttp2_hd_inflate_hd"],nghttp2_priority_spec:[5,2,1,"c.nghttp2_priority_spec"],nghttp2_frame_type:[5,2,1,"c.nghttp2_frame_type"],NGHTTP2_ERR_INVALID_STREAM_ID:[5,0,1,"c.NGHTTP2_ERR_INVALID_STREAM_ID"],nghttp2_select_next_protocol:[5,3,1,"c.nghttp2_select_next_protocol"],nghttp2_data_flag:[5,2,1,"c.nghttp2_data_flag"],NGHTTP2_ERR_INVALID_HEADER_BLOCK:[5,0,1,"c.NGHTTP2_ERR_INVALID_HEADER_BLOCK"],nghttp2_option_set_no_auto_stream_window_update:[5,3,1,"c.nghttp2_option_set_no_auto_stream_window_update"],nghttp2_session_callbacks:[5,2,1,"c.nghttp2_session_callbacks"],NGHTTP2_MAX_WINDOW_SIZE:[5,0,1,"c.NGHTTP2_MAX_WINDOW_SIZE"],NGHTTP2_ERR_TOO_MANY_INFLIGHT_SETTINGS:[5,0,1,"c.NGHTTP2_ERR_TOO_MANY_INFLIGHT_SETTINGS"],NGHTTP2_ERR_PROTO:[5,0,1,"c.NGHTTP2_ERR_PROTO"],nghttp2_hd_deflate_del:[5,3,1,"c.nghttp2_hd_deflate_del"],nghttp2_submit_window_update:[5,3,1,"c.nghttp2_submit_window_update"],NGHTTP2_ERR_UNSUPPORTED_VERSION:[5,0,1,"c.NGHTTP2_ERR_UNSUPPORTED_VERSION"],nghttp2_option:[5,2,1,"c.nghttp2_option"],NGHTTP2_SETTINGS_ENABLE_PUSH:[5,0,1,"c.NGHTTP2_SETTINGS_ENABLE_PUSH"],NGHTTP2_HD_INFLATE_FINAL:[5,0,1,"c.NGHTTP2_HD_INFLATE_FINAL"],nghttp2_check_header_name:[5,3,1,"c.nghttp2_check_header_name"],NGHTTP2_DATA:[5,0,1,"c.NGHTTP2_DATA"],nghttp2_hd_inflate_new:[5,3,1,"c.nghttp2_hd_inflate_new"],NGHTTP2_ERR_INVALID_STREAM_STATE:[5,0,1,"c.NGHTTP2_ERR_INVALID_STREAM_STATE"],nghttp2_on_header_callback:[5,2,1,"c.nghttp2_on_header_callback"],NGHTTP2_FLAG_ACK:[5,0,1,"c.NGHTTP2_FLAG_ACK"],NGHTTP2_STREAM_CLOSED:[5,0,1,"c.NGHTTP2_STREAM_CLOSED"],nghttp2_on_begin_headers_callback:[5,2,1,"c.nghttp2_on_begin_headers_callback"],NGHTTP2_NV_FLAG_NO_INDEX:[5,0,1,"c.NGHTTP2_NV_FLAG_NO_INDEX"],nghttp2_headers_category:[5,2,1,"c.nghttp2_headers_category"],nghttp2_session_mem_send:[5,3,1,"c.nghttp2_session_mem_send"],nghttp2_error_code:[5,2,1,"c.nghttp2_error_code"],nghttp2_send_callback:[5,2,1,"c.nghttp2_send_callback"],nghttp2_on_data_chunk_recv_callback:[5,2,1,"c.nghttp2_on_data_chunk_recv_callback"],NGHTTP2_ERR_START_STREAM_NOT_ALLOWED:[5,0,1,"c.NGHTTP2_ERR_START_STREAM_NOT_ALLOWED"],nghttp2_hd_inflate_change_table_size:[5,3,1,"c.nghttp2_hd_inflate_change_table_size"],nghttp2_priority_spec_check_default:[5,3,1,"c.nghttp2_priority_spec_check_default"],nghttp2_strerror:[5,3,1,"c.nghttp2_strerror"],NGHTTP2_ERR_FATAL:[5,0,1,"c.NGHTTP2_ERR_FATAL"],nghttp2_submit_goaway:[5,3,1,"c.nghttp2_submit_goaway"],NGHTTP2_INITIAL_CONNECTION_WINDOW_SIZE:[5,0,1,"c.NGHTTP2_INITIAL_CONNECTION_WINDOW_SIZE"],NGHTTP2_ERR_NOMEM:[5,0,1,"c.NGHTTP2_ERR_NOMEM"],NGHTTP2_ERR_PAUSE:[5,0,1,"c.NGHTTP2_ERR_PAUSE"],nghttp2_ext_frame_type:[5,2,1,"c.nghttp2_ext_frame_type"],nghttp2_session_client_new:[5,3,1,"c.nghttp2_session_client_new"],nghttp2_session_resume_data:[5,3,1,"c.nghttp2_session_resume_data"],NGHTTP2_GOAWAY:[5,0,1,"c.NGHTTP2_GOAWAY"],NGHTTP2_NO_ERROR:[5,0,1,"c.NGHTTP2_NO_ERROR"],nghttp2_select_padding_callback:[5,2,1,"c.nghttp2_select_padding_callback"],nghttp2_session_get_effective_recv_data_length:[5,3,1,"c.nghttp2_session_get_effective_recv_data_length"],nghttp2_session_server_new2:[5,3,1,"c.nghttp2_session_server_new2"],NGHTTP2_ERR_DEFERRED:[5,0,1,"c.NGHTTP2_ERR_DEFERRED"],nghttp2_push_promise:[5,2,1,"c.nghttp2_push_promise"],NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE:[5,0,1,"c.NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE"],nghttp2_session_get_outbound_queue_size:[5,3,1,"c.nghttp2_session_get_outbound_queue_size"],NGHTTP2_PROTO_VERSION_ID_LEN:[5,0,1,"c.NGHTTP2_PROTO_VERSION_ID_LEN"],NGHTTP2_INITIAL_MAX_CONCURRENT_STREAMS:[5,0,1,"c.NGHTTP2_INITIAL_MAX_CONCURRENT_STREAMS"],nghttp2_data_source_read_callback:[5,2,1,"c.nghttp2_data_source_read_callback"],NGHTTP2_ERR_FLOW_CONTROL:[5,0,1,"c.NGHTTP2_ERR_FLOW_CONTROL"],NGHTTP2_SETTINGS_TIMEOUT:[5,0,1,"c.NGHTTP2_SETTINGS_TIMEOUT"],nghttp2_before_frame_send_callback:[5,2,1,"c.nghttp2_before_frame_send_callback"],nghttp2_hd_deflate_new:[5,3,1,"c.nghttp2_hd_deflate_new"],NGHTTP2_ERR_WOULDBLOCK:[5,0,1,"c.NGHTTP2_ERR_WOULDBLOCK"],nghttp2_hd_deflate_set_no_refset:[5,3,1,"c.nghttp2_hd_deflate_set_no_refset"],nghttp2_hd_deflate_change_table_size:[5,3,1,"c.nghttp2_hd_deflate_change_table_size"],NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE:[5,0,1,"c.NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE"],nghttp2_session_server_new:[5,3,1,"c.nghttp2_session_server_new"],NGHTTP2_ERR_BUFFER_ERROR:[5,0,1,"c.NGHTTP2_ERR_BUFFER_ERROR"],nghttp2_hd_inflate_del:[5,3,1,"c.nghttp2_hd_inflate_del"],NGHTTP2_CONTINUATION:[5,0,1,"c.NGHTTP2_CONTINUATION"],nghttp2_rst_stream:[5,2,1,"c.nghttp2_rst_stream"],NGHTTP2_ERR_INVALID_ARGUMENT:[5,0,1,"c.NGHTTP2_ERR_INVALID_ARGUMENT"],nghttp2_submit_push_promise:[5,3,1,"c.nghttp2_submit_push_promise"],NGHTTP2_ERR_GOAWAY_ALREADY_SENT:[5,0,1,"c.NGHTTP2_ERR_GOAWAY_ALREADY_SENT"],NGHTTP2_CLIENT_CONNECTION_PREFACE_LEN:[5,0,1,"c.NGHTTP2_CLIENT_CONNECTION_PREFACE_LEN"],NGHTTP2_HEADERS:[5,0,1,"c.NGHTTP2_HEADERS"],nghttp2_flag:[5,2,1,"c.nghttp2_flag"],NGHTTP2_DEFAULT_WEIGHT:[5,0,1,"c.NGHTTP2_DEFAULT_WEIGHT"],nghttp2_submit_headers:[5,3,1,"c.nghttp2_submit_headers"],NGHTTP2_ERR_DATA_EXIST:[5,0,1,"c.NGHTTP2_ERR_DATA_EXIST"],nghttp2_hd_deflate_hd:[5,3,1,"c.nghttp2_hd_deflate_hd"],nghttp2_priority_spec_default_init:[5,3,1,"c.nghttp2_priority_spec_default_init"],NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS:[5,0,1,"c.NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS"],NGHTTP2_HCAT_REQUEST:[5,0,1,"c.NGHTTP2_HCAT_REQUEST"],NGHTTP2_FLAG_END_HEADERS:[5,0,1,"c.NGHTTP2_FLAG_END_HEADERS"],NGHTTP2_HD_INFLATE_EMIT:[5,0,1,"c.NGHTTP2_HD_INFLATE_EMIT"],NGHTTP2_RST_STREAM:[5,0,1,"c.NGHTTP2_RST_STREAM"],nghttp2_option_set_peer_max_concurrent_streams:[5,3,1,"c.nghttp2_option_set_peer_max_concurrent_streams"],nghttp2_headers:[5,2,1,"c.nghttp2_headers"],NGHTTP2_HCAT_HEADERS:[5,0,1,"c.NGHTTP2_HCAT_HEADERS"],NGHTTP2_VERSION_NUM:[5,0,1,"c.NGHTTP2_VERSION_NUM"],NGHTTP2_SETTINGS:[5,0,1,"c.NGHTTP2_SETTINGS"],nghttp2_frame:[5,2,1,"c.nghttp2_frame"],NGHTTP2_ERR_FRAME_SIZE_ERROR:[5,0,1,"c.NGHTTP2_ERR_FRAME_SIZE_ERROR"],nghttp2_session_mem_recv:[5,3,1,"c.nghttp2_session_mem_recv"],NGHTTP2_ERR_DEFERRED_DATA_EXIST:[5,0,1,"c.NGHTTP2_ERR_DEFERRED_DATA_EXIST"],NGHTTP2_CANCEL:[5,0,1,"c.NGHTTP2_CANCEL"],NGHTTP2_REFUSED_STREAM:[5,0,1,"c.NGHTTP2_REFUSED_STREAM"],nghttp2_on_frame_send_callback:[5,2,1,"c.nghttp2_on_frame_send_callback"],NGHTTP2_ENHANCE_YOUR_CALM:[5,0,1,"c.NGHTTP2_ENHANCE_YOUR_CALM"],NGHTTP2_VERSION:[5,0,1,"c.NGHTTP2_VERSION"],NGHTTP2_COMPRESSION_ERROR:[5,0,1,"c.NGHTTP2_COMPRESSION_ERROR"],NGHTTP2_HCAT_PUSH_RESPONSE:[5,0,1,"c.NGHTTP2_HCAT_PUSH_RESPONSE"],NGHTTP2_CLEARTEXT_PROTO_VERSION_ID:[5,0,1,"c.NGHTTP2_CLEARTEXT_PROTO_VERSION_ID"],nghttp2_submit_rst_stream:[5,3,1,"c.nghttp2_submit_rst_stream"],nghttp2_session_get_remote_settings:[5,3,1,"c.nghttp2_session_get_remote_settings"],nghttp2_recv_callback:[5,2,1,"c.nghttp2_recv_callback"],NGHTTP2_DEFAULT_HEADER_TABLE_SIZE:[5,0,1,"c.NGHTTP2_DEFAULT_HEADER_TABLE_SIZE"],nghttp2_session_get_stream_user_data:[5,3,1,"c.nghttp2_session_get_stream_user_data"],NGHTTP2_FLAG_PRIORITY:[5,0,1,"c.NGHTTP2_FLAG_PRIORITY"],nghttp2:[2,4,0,"-"],nghttp2_nv:[5,2,1,"c.nghttp2_nv"],nghttp2_on_invalid_frame_recv_callback:[5,2,1,"c.nghttp2_on_invalid_frame_recv_callback"],nghttp2_option_del:[5,3,1,"c.nghttp2_option_del"],nghttp2_on_unknown_frame_recv_callback:[5,2,1,"c.nghttp2_on_unknown_frame_recv_callback"],nghttp2_settings:[5,2,1,"c.nghttp2_settings"],NGHTTP2_CLIENT_CONNECTION_PREFACE:[5,0,1,"c.NGHTTP2_CLIENT_CONNECTION_PREFACE"],NGHTTP2_ERR_STREAM_CLOSED:[5,0,1,"c.NGHTTP2_ERR_STREAM_CLOSED"],NGHTTP2_FLAG_END_STREAM:[5,0,1,"c.NGHTTP2_FLAG_END_STREAM"],nghttp2_hd_deflate_bound:[5,3,1,"c.nghttp2_hd_deflate_bound"],NGHTTP2_ERR_CALLBACK_FAILURE:[5,0,1,"c.NGHTTP2_ERR_CALLBACK_FAILURE"],NGHTTP2_FLOW_CONTROL_ERROR:[5,0,1,"c.NGHTTP2_FLOW_CONTROL_ERROR"],NGHTTP2_CLEARTEXT_PROTO_VERSION_ID_LEN:[5,0,1,"c.NGHTTP2_CLEARTEXT_PROTO_VERSION_ID_LEN"],nghttp2_session_set_stream_user_data:[5,3,1,"c.nghttp2_session_set_stream_user_data"],nghttp2_check_header_value:[5,3,1,"c.nghttp2_check_header_value"],NGHTTP2_ERR_STREAM_CLOSING:[5,0,1,"c.NGHTTP2_ERR_STREAM_CLOSING"],NGHTTP2_INADEQUATE_SECURITY:[5,0,1,"c.NGHTTP2_INADEQUATE_SECURITY"],nghttp2_hd_inflater:[5,2,1,"c.nghttp2_hd_inflater"],nghttp2_version:[5,3,1,"c.nghttp2_version"],nghttp2_info:[5,2,1,"c.nghttp2_info"],NGHTTP2_PROTO_VERSION_ID:[5,0,1,"c.NGHTTP2_PROTO_VERSION_ID"],nghttp2_settings_id:[5,2,1,"c.nghttp2_settings_id"],NGHTTP2_DATA_FLAG_EOF:[5,0,1,"c.NGHTTP2_DATA_FLAG_EOF"],nghttp2_hd_inflate_flag:[5,2,1,"c.nghttp2_hd_inflate_flag"],nghttp2_session_send:[5,3,1,"c.nghttp2_session_send"],NGHTTP2_PROTOCOL_ERROR:[5,0,1,"c.NGHTTP2_PROTOCOL_ERROR"],nghttp2_hd_deflater:[5,2,1,"c.nghttp2_hd_deflater"],nghttp2_session_upgrade:[5,3,1,"c.nghttp2_session_upgrade"],nghttp2_session_del:[5,3,1,"c.nghttp2_session_del"],NGHTTP2_ERR_INSUFF_BUFSIZE:[5,0,1,"c.NGHTTP2_ERR_INSUFF_BUFSIZE"],nghttp2_ext_altsvc:[5,2,1,"c.nghttp2_ext_altsvc"],nghttp2_error:[5,2,1,"c.nghttp2_error"],nghttp2_on_frame_not_send_callback:[5,2,1,"c.nghttp2_on_frame_not_send_callback"],nghttp2_option_set_no_auto_connection_window_update:[5,3,1,"c.nghttp2_option_set_no_auto_connection_window_update"],nghttp2_window_update:[5,2,1,"c.nghttp2_window_update"],nghttp2_session_get_stream_remote_window_size:[5,3,1,"c.nghttp2_session_get_stream_remote_window_size"],NGHTTP2_CLIENT_CONNECTION_HEADER:[5,0,1,"c.NGHTTP2_CLIENT_CONNECTION_HEADER"],NGHTTP2_FLAG_NONE:[5,0,1,"c.NGHTTP2_FLAG_NONE"],nghttp2_session_terminate_session:[5,3,1,"c.nghttp2_session_terminate_session"],nghttp2_submit_altsvc:[5,3,1,"c.nghttp2_submit_altsvc"],NGHTTP2_DATA_FLAG_NONE:[5,0,1,"c.NGHTTP2_DATA_FLAG_NONE"],NGHTTP2_NV_FLAG_NONE:[5,0,1,"c.NGHTTP2_NV_FLAG_NONE"],nghttp2_submit_settings:[5,3,1,"c.nghttp2_submit_settings"],nghttp2_session_want_write:[5,3,1,"c.nghttp2_session_want_write"],NGHTTP2_PING:[5,0,1,"c.NGHTTP2_PING"],NGHTTP2_MAX_WEIGHT:[5,0,1,"c.NGHTTP2_MAX_WEIGHT"],nghttp2_priority:[5,2,1,"c.nghttp2_priority"],nghttp2_session_want_read:[5,3,1,"c.nghttp2_session_want_read"],NGHTTP2_VERSION_AGE:[5,0,1,"c.NGHTTP2_VERSION_AGE"],NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE:[5,0,1,"c.NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE"],NGHTTP2_CONNECT_ERROR:[5,0,1,"c.NGHTTP2_CONNECT_ERROR"],NGHTTP2_HD_INFLATE_NONE:[5,0,1,"c.NGHTTP2_HD_INFLATE_NONE"],nghttp2_submit_data:[5,3,1,"c.nghttp2_submit_data"],nghttp2_on_stream_close_callback:[5,2,1,"c.nghttp2_on_stream_close_callback"],NGHTTP2_PUSH_PROMISE:[5,0,1,"c.NGHTTP2_PUSH_PROMISE"],nghttp2_data:[5,2,1,"c.nghttp2_data"],nghttp2_data_provider:[5,2,1,"c.nghttp2_data_provider"],NGHTTP2_ERR_PUSH_DISABLED:[5,0,1,"c.NGHTTP2_ERR_PUSH_DISABLED"],nghttp2_session_recv:[5,3,1,"c.nghttp2_session_recv"],nghttp2_option_new:[5,3,1,"c.nghttp2_option_new"],nghttp2_session_get_effective_local_window_size:[5,3,1,"c.nghttp2_session_get_effective_local_window_size"],NGHTTP2_INITIAL_WINDOW_SIZE:[5,0,1,"c.NGHTTP2_INITIAL_WINDOW_SIZE"],NGHTTP2_WINDOW_UPDATE:[5,0,1,"c.NGHTTP2_WINDOW_UPDATE"],NGHTTP2_FLAG_END_SEGMENT:[5,0,1,"c.NGHTTP2_FLAG_END_SEGMENT"],nghttp2_is_fatal:[5,3,1,"c.nghttp2_is_fatal"],nghttp2_submit_priority:[5,3,1,"c.nghttp2_submit_priority"],nghttp2_session_client_new2:[5,3,1,"c.nghttp2_session_client_new2"],NGHTTP2_ERR_EOF:[5,0,1,"c.NGHTTP2_ERR_EOF"],nghttp2_session:[5,2,1,"c.nghttp2_session"],nghttp2_session_get_stream_effective_local_window_size:[5,3,1,"c.nghttp2_session_get_stream_effective_local_window_size"],nghttp2_session_terminate_session2:[5,3,1,"c.nghttp2_session_terminate_session2"],NGHTTP2_MIN_WEIGHT:[5,0,1,"c.NGHTTP2_MIN_WEIGHT"],nghttp2_submit_ping:[5,3,1,"c.nghttp2_submit_ping"],NGHTTP2_FRAME_SIZE_ERROR:[5,0,1,"c.NGHTTP2_FRAME_SIZE_ERROR"],NGHTTP2_ERR_STREAM_SHUT_WR:[5,0,1,"c.NGHTTP2_ERR_STREAM_SHUT_WR"],nghttp2_submit_response:[5,3,1,"c.nghttp2_submit_response"],NGHTTP2_PRIORITY:[5,0,1,"c.NGHTTP2_PRIORITY"],nghttp2_submit_request:[5,3,1,"c.nghttp2_submit_request"],nghttp2_session_get_stream_effective_recv_data_length:[5,3,1,"c.nghttp2_session_get_stream_effective_recv_data_length"],nghttp2_extension:[5,2,1,"c.nghttp2_extension"],nghttp2_pack_settings_payload:[5,3,1,"c.nghttp2_pack_settings_payload"],NGHTTP2_HCAT_RESPONSE:[5,0,1,"c.NGHTTP2_HCAT_RESPONSE"],nghttp2_data_source:[5,2,1,"c.nghttp2_data_source"],nghttp2_nv_compare_name:[5,3,1,"c.nghttp2_nv_compare_name"]},nghttp2_frame:{push_promise:[5,1,1,"c.nghttp2_frame.push_promise"],settings:[5,1,1,"c.nghttp2_frame.settings"],ping:[5,1,1,"c.nghttp2_frame.ping"],rst_stream:[5,1,1,"c.nghttp2_frame.rst_stream"],goaway:[5,1,1,"c.nghttp2_frame.goaway"],priority:[5,1,1,"c.nghttp2_frame.priority"],headers:[5,1,1,"c.nghttp2_frame.headers"],ext:[5,1,1,"c.nghttp2_frame.ext"],window_update:[5,1,1,"c.nghttp2_frame.window_update"],data:[5,1,1,"c.nghttp2_frame.data"],hd:[5,1,1,"c.nghttp2_frame.hd"]},nghttp2_settings_entry:{settings_id:[5,1,1,"c.nghttp2_settings_entry.settings_id"],value:[5,1,1,"c.nghttp2_settings_entry.value"]},nghttp2_window_update:{hd:[5,1,1,"c.nghttp2_window_update.hd"],window_size_increment:[5,1,1,"c.nghttp2_window_update.window_size_increment"]},nghttp2_frame_hd:{stream_id:[5,1,1,"c.nghttp2_frame_hd.stream_id"],length:[5,1,1,"c.nghttp2_frame_hd.length"],type:[5,1,1,"c.nghttp2_frame_hd.type"],flags:[5,1,1,"c.nghttp2_frame_hd.flags"]},nghttp2_push_promise:{padlen:[5,1,1,"c.nghttp2_push_promise.padlen"],promised_stream_id:[5,1,1,"c.nghttp2_push_promise.promised_stream_id"],nvlen:[5,1,1,"c.nghttp2_push_promise.nvlen"],nva:[5,1,1,"c.nghttp2_push_promise.nva"],hd:[5,1,1,"c.nghttp2_push_promise.hd"]},nghttp2_ping:{hd:[5,1,1,"c.nghttp2_ping.hd"]},nghttp2_priority:{pri_spec:[5,1,1,"c.nghttp2_priority.pri_spec"],hd:[5,1,1,"c.nghttp2_priority.hd"]},nghttp2_priority_spec:{stream_id:[5,1,1,"c.nghttp2_priority_spec.stream_id"],weight:[5,1,1,"c.nghttp2_priority_spec.weight"],exclusive:[5,1,1,"c.nghttp2_priority_spec.exclusive"]},nghttp2:{HTTP2Server:[2,7,1,""],HDDeflater:[2,7,1,""],DEFLATE_MAX_HEADER_TABLE_SIZE:[2,8,1,""],DEFAULT_HEADER_TABLE_SIZE:[2,8,1,""],HDInflater:[2,7,1,""],print_hd_table:[2,9,1,""],BaseRequestHandler:[2,7,1,""]},nghttp2_nv:{valuelen:[5,1,1,"c.nghttp2_nv.valuelen"],namelen:[5,1,1,"c.nghttp2_nv.namelen"],flags:[5,1,1,"c.nghttp2_nv.flags"],name:[5,1,1,"c.nghttp2_nv.name"],value:[5,1,1,"c.nghttp2_nv.value"]},nghttp2_ext_altsvc:{origin:[5,1,1,"c.nghttp2_ext_altsvc.origin"],max_age:[5,1,1,"c.nghttp2_ext_altsvc.max_age"],protocol_id:[5,1,1,"c.nghttp2_ext_altsvc.protocol_id"],origin_len:[5,1,1,"c.nghttp2_ext_altsvc.origin_len"],host:[5,1,1,"c.nghttp2_ext_altsvc.host"],protocol_id_len:[5,1,1,"c.nghttp2_ext_altsvc.protocol_id_len"],host_len:[5,1,1,"c.nghttp2_ext_altsvc.host_len"],port:[5,1,1,"c.nghttp2_ext_altsvc.port"]},nghttp2_session_callbacks:{before_frame_send_callback:[5,1,1,"c.nghttp2_session_callbacks.before_frame_send_callback"],on_invalid_frame_recv_callback:[5,1,1,"c.nghttp2_session_callbacks.on_invalid_frame_recv_callback"],on_stream_close_callback:[5,1,1,"c.nghttp2_session_callbacks.on_stream_close_callback"],on_data_chunk_recv_callback:[5,1,1,"c.nghttp2_session_callbacks.on_data_chunk_recv_callback"],on_begin_headers_callback:[5,1,1,"c.nghttp2_session_callbacks.on_begin_headers_callback"],send_callback:[5,1,1,"c.nghttp2_session_callbacks.send_callback"],on_unknown_frame_recv_callback:[5,1,1,"c.nghttp2_session_callbacks.on_unknown_frame_recv_callback"],on_header_callback:[5,1,1,"c.nghttp2_session_callbacks.on_header_callback"],on_frame_recv_callback:[5,1,1,"c.nghttp2_session_callbacks.on_frame_recv_callback"],select_padding_callback:[5,1,1,"c.nghttp2_session_callbacks.select_padding_callback"],on_frame_not_send_callback:[5,1,1,"c.nghttp2_session_callbacks.on_frame_not_send_callback"],on_frame_send_callback:[5,1,1,"c.nghttp2_session_callbacks.on_frame_send_callback"],recv_callback:[5,1,1,"c.nghttp2_session_callbacks.recv_callback"]},nghttp2_data_provider:{source:[5,1,1,"c.nghttp2_data_provider.source"],read_callback:[5,1,1,"c.nghttp2_data_provider.read_callback"]},nghttp2_rst_stream:{error_code:[5,1,1,"c.nghttp2_rst_stream.error_code"],hd:[5,1,1,"c.nghttp2_rst_stream.hd"]},nghttp2_headers:{pri_spec:[5,1,1,"c.nghttp2_headers.pri_spec"],nvlen:[5,1,1,"c.nghttp2_headers.nvlen"],cat:[5,1,1,"c.nghttp2_headers.cat"],padlen:[5,1,1,"c.nghttp2_headers.padlen"],nva:[5,1,1,"c.nghttp2_headers.nva"],hd:[5,1,1,"c.nghttp2_headers.hd"]},nghttp2_goaway:{opaque_data:[5,1,1,"c.nghttp2_goaway.opaque_data"],error_code:[5,1,1,"c.nghttp2_goaway.error_code"],opaque_data_len:[5,1,1,"c.nghttp2_goaway.opaque_data_len"],hd:[5,1,1,"c.nghttp2_goaway.hd"],last_stream_id:[5,1,1,"c.nghttp2_goaway.last_stream_id"]},"nghttp2.BaseRequestHandler":{on_data:[2,5,1,""],host:[2,6,1,""],on_request_done:[2,5,1,""],on_headers:[2,5,1,""],stream_id:[2,6,1,""],on_close:[2,5,1,""],push:[2,5,1,""],path:[2,6,1,""],method:[2,6,1,""],scheme:[2,6,1,""],send_response:[2,5,1,""],client_address:[2,6,1,""]},nghttp2_info:{age:[5,1,1,"c.nghttp2_info.age"],version_str:[5,1,1,"c.nghttp2_info.version_str"],version_num:[5,1,1,"c.nghttp2_info.version_num"],proto_str:[5,1,1,"c.nghttp2_info.proto_str"]},"nghttp2.HDDeflater":{change_table_size:[2,5,1,""],get_hd_table:[2,5,1,""],set_no_refset:[2,5,1,""],deflate:[2,5,1,""]},"nghttp2.HTTP2Server":{serve_forever:[2,5,1,""]},nghttp2_data:{padlen:[5,1,1,"c.nghttp2_data.padlen"]},"nghttp2.HDInflater":{inflate:[2,5,1,""],get_hd_table:[2,5,1,""],change_table_size:[2,5,1,""]},nghttp2_data_source:{fd:[5,1,1,"c.nghttp2_data_source.fd"],ptr:[5,1,1,"c.nghttp2_data_source.ptr"]},nghttp2_extension:{payload:[5,1,1,"c.nghttp2_extension.payload"],hd:[5,1,1,"c.nghttp2_extension.hd"]},nghttp2_settings:{niv:[5,1,1,"c.nghttp2_settings.niv"],hd:[5,1,1,"c.nghttp2_settings.hd"],iv:[5,1,1,"c.nghttp2_settings.iv"]}},titleterms:{control:1,certif:9,protocol:1,text:1,tutori:[4,7],header:6,rate:9,api:[5,2],resourc:0,bridg:9,select:1,statu:6,git:6,multipl:1,struct:5,union:5,develop:6,libev:[4,7],write:9,how:[9,1],nghttp2:[0,8,6],version:0,build:6,basic:1,test:6,deflatehd:6,document:6,type:5,"public":6,includ:5,"function":5,program:6,http:[0,1,2,4,6,7,9],proxi:[6,9],python:[6,2],usag:1,tool:[6,1],"enum":5,benchmark:[6,1],typedef:5,specifi:9,compressor:6,remark:5,releas:0,from:6,decompressor:6,addit:9,requir:6,nghttp2ver:3,nghttpd:6,thread:1,ssl:9,read:9,macro:5,clear:1,nghttp:6,flow:1,uri:1,server:[4,6,2],inflatehd:6,"default":9,client:[6,9,7],limit:9,mode:9,hpack:[6,2],bind:6,nghttpx:[6,9],multi:1,refer:[5,2],h2load:1,disabl:9,librari:[0,6]}}) \ No newline at end of file +Search.setIndex({envversion:42,terms:{my_obj:[5,8],create_serv:2,nghttp2_io_flag:8,nghttp2_cancel:[5,8],prefix:[4,8,5],nghttp2_priority_spec_init:[5,8],nghttp2_session_get_stream_effective_local_window_s:[5,8],op_al:[6,2],"const":[4,8,7,5],"535d0eea":6,"0x20":[5,8,6],under:[5,8,6],bufferevent_getfd:7,spec:[5,8],merchant:[4,8,7,3],digit:7,"void":[4,8,7,5],bufferevent_ssl:[4,7],affect:1,initialize_nghttp2_setup:[4,7],verif:7,servic:[4,6],warnx:[4,7],on_stream_close_callback:[4,8,7,5],direct:6,aggreg:9,even:9,ssl_op_no_session_resumption_on_renegoti:[4,7],neg:[5,8],nghttp2_err_insuff_bufs:[5,8],"new":[4,8,6,5],tatsuhiro:[0,1,3,4,6,7,8],nghttp2_session_resume_data:[5,8],ipproto_tcp:[4,7],abov:[4,3,5,6,7,8],initialize_app_context:4,never:[5,8],here:[4,1,5,6,7,8,9],met:[4,8,7,5],"4xx":[6,1],path:[4,6,9,2,7],settings_timeout:[5,8],interpret:[5,8],nextprotoneg:[5,8],sslv23_server_method:4,nghttp2_submit_:[4,7],permit:[4,8,7,3],nghttp2_submit_prior:[5,8],aka:[5,8,6],nghttp2_frame:[4,8,7,5],bufferevent_ssl_connect:7,substr:4,bev_event_error:[4,7],bufferevent_socket_connect_hostnam:7,total:[5,8,6,1],unit:6,describ:[4,5,6,7,8,9],would:[5,8],nghttp2_inadequate_secur:[5,8],call:[4,2,5,6,7,8,9],asset:6,recommend:6,nghttp2_on_invalid_frame_recv_callback:[5,8],nghttp2_version:[5,8,3],until:[5,8,2],reusabl:6,relat:[4,7],nghttp2_cleartext_proto_version_id_len:[5,8],warn:[4,8],nghttp2_option_set_peer_max_concurrent_stream:[5,8],ssl_shutdown:[4,7],hold:[5,8],unpack:[5,8],must:[4,2,5,6,8,9],word:[5,8],err:[4,7],exit_failur:[4,7],setup:[4,7],work:[4,6,9,2],lev_opt_close_on_fre:4,nghttp2_flag_ack:[5,8],root:[4,6],syn_repli:[5,8,1],defer:[4,8,7,5],give:[5,8,6,2],indic:[4,8,2,7,5],want:[4,2,5,7,8,9],select_padding_callback:[5,8],unsign:[4,8,7,5],end:[4,8,7,5],thing:[4,8,7,5],datalen:[4,7],how:5,nghttp2_err_fat:[5,8],hop:[5,8],negoti:6,nghttp2_frame_typ:[5,8],updat:[5,8],nghttp2_msg_more:8,after:[4,1,5,6,7,8],settings_header_table_s:[5,8],badli:[5,8],demonstr:7,request_path:4,third:[4,8,7,5],opaqu:[5,8,9],bootstrap:6,exclud:[5,8],receiv:[4,1,2,5,6,7,8],enter:9,exclus:[5,8],first:[4,1,2,5,6,7,8],order:[4,8,6,1,5],oper:[5,8,6,9],frontend:[6,9],over:[4,8,6,7,5],becaus:[4,8,2,7,5],eagain:[4,7],fit:[4,8,7,3],nghttp2_session_get_stream_remote_window_s:[5,8],fwrite:[5,8,7],"9d33":6,deflate_s:6,hidden:[5,8],them:[4,5,6,7,8,9],nghttp2_hd_deflate_del:[5,8],thei:[4,1,2,5,6,7,8],fragment:6,safe:[4,8,5],"break":[4,8,7,5],promis:[5,8],choic:[5,8],ai_addr:4,timeout:[4,7],each:[4,2,5,6,7,8,9],debug:[5,8,7],side:[4,8,6,5],mean:[5,8,2,7],slen:4,protocol_error:[5,8],nghttp2_select_padding_callback:[5,8],http2_stream_data:[4,7],nghttp2_session_server_new2:[5,8],deflater_ptr:[5,8],network:[4,9,7],newli:[5,8,7],content:[0,6,9,2,4],hd_table_bufsize_max:2,end_stream:[5,8,6],situat:[4,1,7],free:[4,8,7,3,5],standard:2,b127:9,spdy:[5,8,6,1,9],openssl:[4,6,7],nghttp2_version_num:[5,8,3],sigact:[4,7],rang:[5,8,6],deflate_max_header_table_s:2,restrict:[4,8,7,3],nghttp2_protocol_error:[5,8],alreadi:[4,8,7,5],primari:[5,8],top:[6,9,2],sometim:1,too:[4,8,5],similarli:5,draft:[0,8,6,5],listen:[4,6,9],tool:5,lighttpd:6,travers:4,target:[5,8,6,2],provid:[4,2,3,5,6,7,8],tree:6,zero:[5,8],project:[0,6],matter:[5,8],nghttp2_continu:[5,8],nv_out:[5,8],manner:1,increment:[5,8],nghttp2_option_set_no_auto_stream_window_upd:[5,8],nghttp2_session_recv:[5,8],latter:[5,8,2],transmit:[5,8,7],sig_ign:[4,7],shall:[4,8,7,3],object:[4,2,5,6,7,8],writecb:[4,7],nghttp2_settings_timeout:[5,8],bytesio:[6,2],simplic:7,don:[4,8,6,5],hex_to_uint:4,doc:6,flow:5,doe:[4,2,5,6,7,8,9],left:[5,8],section:[5,8],on_invalid_frame_recv_callback:[5,8],bev_event_eof:[4,7],pkg:6,identifi:[4,8,2,5],bufferevent_setcb:[4,7],make:[4,2,5,6,8,9],involv:[5,8],absolut:9,libari:6,explain:[9,7],configur:[5,8,6,9,2],dnsbase:7,busi:[4,7],nghttp2_cleartext_proto_version_id:[5,8],nghttp2_err_proto:[5,8],authoritylen:7,stop:[4,8,7,5],end_head:[5,8,6],evbuffer_drain:[4,7],bar:[6,2],ai_pass:4,ietf:[0,8,6,5],baz:[6,2],push_promis:[4,8,5],"public":[0,8,5],nghttp2_strerror:[4,8,7,5],bufferevent_ssl_accept:4,serve_forev:[6,2],nul:[5,8],result:[4,8,1,7,5],respons:[4,1,2,5,6,7,8],fail:[4,1,5,6,7,8,9],key_fil:4,subject:[4,8,7,3],said:[5,8],figur:6,bev_opt_close_on_fre:[4,7],accord:[5,8],pointer:[4,8,5],extens:[5,8,6,2,7],advertis:[4,7],setsockopt:[4,7],nghttp2_default_weight:[5,8],nghttp2_hd_deflate_hd:[5,8],against:[5,8,6],ssl_ctx_use_certificate_chain_fil:4,header_t:6,logic:4,enhance_your_calm:[5,8],com:[0,8,6,9,5],int32_t:[4,8,7,5],assum:[5,8,9,2],option_ptr:[5,8],duplic:[5,8],reciev:7,liabil:[4,8,7,3],evbuffer_get_length:[4,7],chrome:[6,9],tlsv1:6,max_deflate_s:6,been:[4,8,7,5],github:[0,6,1],trigger:[5,8],interest:[4,6,7],futur:[5,8,9],tini:7,life:4,regul:[4,7],worker:9,argument:[4,2,5,6,7,8],ewouldblock:[4,7],load_cert_chain:[6,2],ssl_op_no_compress:[4,7],emploi:1,nghttp2_settings_initial_window_s:[5,8],properti:[4,7],calcul:1,publicli:6,nghttp2_on_begin_headers_callback:[5,8,7],bev_event_timeout:[4,7],printabl:7,nghttp2_flag_pad:[5,8],nghttp2_set:[5,8],promised_stream_id:[5,8],conf:6,sever:[4,8,6,9,5],on_data:[6,2],perform:[4,1,2,5,6,8,9],dhe:6,transpar:[5,8],headlen:[5,8],split:[5,8],version_str:[5,8],nghttp2_on_stream_close_callback:[5,8,7],complet:[4,8,7,5],start_listen:4,bufferevent_openssl_get_ssl:[4,7],nghttp2_err_deferred_data_exist:[5,8],rais:2,ssl_ctx_new:[4,7],zlib1g:6,ownership:[5,8],niv:[5,8,6],thu:[4,8,6,9,5],nghttp2_session_get_effective_local_window_s:[5,8],inherit:2,"0x04":[5,8,6],client:[0,8,1,5],thi:[0,1,2,3,4,5,6,7,8,9],endif:[4,8,3],gzip:6,everyth:6,opaque_data:[5,8,6],protocol:5,just:[4,5,6,7,8,9],"0x01":[5,8,6],initiate_connect:7,ifdef:[4,8],yet:[5,8,6],previous:[5,8],easi:6,settings_hd_table_bufsize_max:[5,8],els:[4,7],applic:[4,1,2,5,6,7,8],nghttp2_nv_flag:[5,8],initialize_nghttp2_sess:[4,7],herebi:[4,8,7,3],specif:[4,8,2,7,5],arbitrari:[5,8],http2_session_data:[4,7],client_addr:4,manual:[6,9],html:[0,8,6,5,4],tcp_nodelai:[4,7],unnecessari:[5,8],underli:[4,7],www:[5,8,9],right:[4,8,7,3],deal:[4,8,7,3,5],intern:[5,8],successfulli:[4,8,7,5],transmiss:[4,8,7,5],requesthandlerclass:[6,2],ni_numerichost:4,bottom:[5,8],nghttp2_data_source_read_callback:[5,8],subclass:[6,2],buffer:[4,8,6,7,5],condit:[4,8,7,3,5],foo:[6,2],localhost:[9,6,1],nghttp2_hd_deflate_set_no_refset:[5,8],plu:1,sensibl:[5,8],insecur:9,repositori:[4,7],peer:[4,8,7,5],post:[5,8,6],nghttp2_submit_data:[5,8],nghttp2_settings_max_concurrent_stream:[4,8,7,5],produc:[5,8],f127:9,evbuff:[4,7],encod:[4,8,6,2,5],bound:[5,8],down:[4,7],nghttp2_before_frame_send_callback:[5,8],errx:[4,7],git:[0,8,5],session_send:[4,7],wai:[5,8,6],support:[4,1,5,6,7,8,9],suppors:9,avail:[4,2,5,6,7,8,9],overhead:6,fork:6,head:[4,8,5],event_bas:[4,7],offer:[6,2],bev_event_connect:[4,7],heap:6,"true":[6,2],reset:7,ssl_ctx_free:[4,7],maximum:[5,8,6],tell:[4,8,2,7,5],deafult:6,autoconf:6,emit:[4,8,7,5],nghttp2_initial_window_s:[5,8],featur:6,httpbi:[0,8,6,5],netdb:4,decrypt:1,unreleas:6,exist:[5,8,6,9],protocol_id_len:[5,8],ai_flag:4,ends_with:4,sizeof:[4,7],delete_http2_session_data:[4,7],encrypt:9,when:[4,2,5,6,7,8],role:[4,8,5],nghttp2_check_header_valu:[5,8],send_client_connection_head:7,unlimit:[5,8],heder:[5,8],intend:[4,9],af_unspec:[4,7],nghttp2_option_new:[5,8],nghttp2_max_window_s:[5,8],technot:[5,8],notic:[4,8,7,3],consid:6,evconnlistener_new_bind:4,longer:[4,6],nghttp2_check_header_nam:[5,8],print_head:7,time:[4,2,5,6,8,9],push:[5,8,6,2],skip:[5,8],consum:5,nghttp2_on_frame_recv_callback:[5,8,7],nghttp2ver_h:3,decid:[5,8,2],create_ssl_ctx:[4,7],depend:[4,5,6,7,8,9],readabl:7,sourc:[0,8,7,5,4],string:[4,2,5,6,7,8],nghttp2_settings_enable_push:[5,8],nghttp2_hd_inflate_new:[5,8],host_len:[5,8],exact:[5,8],level:[4,8,1,2,5],did:[5,8,7],item:[6,9],settings_id:[5,8],conhead:4,round:1,upper:[5,8,2],core:6,sign:9,port:[4,1,2,5,6,7,8,9],data_flag:[4,8,5],appear:[5,8,6],event_base_fre:[4,7],current:[4,8,6,2,5],nghttp2_err_data_exist:[5,8],gener:[5,8,6],pad_high:[5,8],nghttp2_hd_inflate_del:[5,8],url_remap:9,address:[6,9,2],box:9,connect_error:[5,8],queue:[4,8,7,5],behav:[5,8,9],ourselv:[4,7],nghttp2_err_goaway_already_s:[5,8],regardless:[5,8],extra:[6,7],modul:[6,2],prefer:[5,8,9],instal:6,hdinflat:[6,2],memori:[4,8,2,7,5],handler:[6,2],strdup:4,prev:4,share:[5,8,6,2],rst_stream:[4,8,7,5],ctype:4,nghttp2_submit_window_upd:[5,8],prepar:[5,8],cap:2,stream_user_data:[5,8,7],cat:[4,8,7,5],descriptor:[4,8,5],whatev:2,http2:[0,2,5,6,8,9],purpos:[4,8,7,3],uf_path:7,claim:[4,8,7,3],stream:[4,1,2,5,6,7,8],agent:6,nghttp2_err_flow_control:[5,8],critic:[5,8],abort:[5,8],tabl:[5,8,6,2],nghttp2_header:[4,8,7,5],occur:[5,8,2],alwai:[4,8,5],multipl:5,ping:[5,8],write:0,mar:6,sslcontext:[6,2],max:[5,8,6,1,7],intrus:4,mac:6,mai:[4,1,2,5,6,7,8,9],acceptcb:4,data:[4,1,2,5,6,7,8],autotool:6,stdin:6,inform:[4,8,6,7,5],nghttp2_session_get_stream_effective_recv_data_length:[5,8],combin:[5,8],talk:[4,6],nghttp2_err_stream_shut_wr:[5,8],size_t:[4,8,7,5],nghttp2_err_unsupported_vers:[5,8],still:[4,8,6,5],mainli:[5,8],dynam:[5,8,6,2],entiti:4,disconnect:[4,7],precondit:[5,8],nghttp2_priority_spec:[5,8],tort:[4,8,7,3],window:[5,8,9,1],main:[4,7],non:[4,1,2,5,6,7,8,9],synopsi:[4,7],env:[6,2],"5xx":[6,1],nghttp2_submit_head:[5,8],nghttp2_on_header_callback:[4,8,7,5],now:[5,8],name:[4,2,5,6,7,8],version_num:[5,8],config:[6,9],no_error:6,drop:[4,8,7,5],hd_inflat:[5,8],millisec:[6,1],replac:[5,8],individu:[5,8,9],continu:[4,8,6,7,5],event_base_loop:[4,7],turoti:7,happen:[4,2,7],ai_addrlen:4,libjemalloc:6,space:[5,8,6],output_length:6,earlier:[4,7],event_base_new:[4,7],argv:[4,7],org:[0,8,6,5],"byte":[4,1,2,5,6,7,8],argc:[4,7],care:[5,8],nghttp2_opt_no_auto_connection_window_upd:[5,8],nghttp2_hd_deflate_change_table_s:[5,8],nghttp2ver:[0,8,5],"88448504252dd5918485":6,befor:[4,1,2,5,6,8],turn:9,nghttp2_flag_non:[4,8,7,5],place:[5,8],evdns_base_new:7,origin:[5,8,6,9],directli:[4,8,7,5],carri:[5,8],onc:[5,8,6],arrai:[5,8,6,7],yourself:6,nghttp2_is_fat:[5,8],nghttp2_flow_control_error:[5,8],submit:[5,8,7],on_frame_recv_callback:[4,8,7,5],open:[4,8,6,9,5],size:[4,1,2,5,6,8],given:[5,8,6,1,2],necessarili:[5,8],sigpip:[4,7],internal_error:[5,8],conveni:[5,8,2],knowledg:6,copi:[4,2,3,5,7,8],specifi:[0,8,1,5],on_head:[6,2],mostli:6,holder:[4,8,7,3],than:[4,1,2,5,6,8],serv:4,wide:4,nghttp2_session_get_outbound_queue_s:[5,8],were:[4,8,7,5],posit:[5,8],read_callback:[4,8,5],nghttp2_min_weight:[5,8],browser:[6,9],sai:[5,8],pri:8,ani:[4,2,3,5,6,7,8,9],deliv:[5,8],saw:9,sat:6,bitwis:[5,8],form:[5,8,6,2],nghttp2_flag_prior:[5,8],destroi:[4,7],payloadlen:[5,8],note:[4,1,5,6,7,8,9],take:[4,8,6,7,5],deflate_hd_table_bufsize_max:[5,8],noth:[5,8,6,9,2],begin:7,sure:[4,6,7],normal:[5,8],track:[4,6,7],compress:[0,8,6,2,5],nghttp2_hcat_request:[4,8,5],pathlen:7,sublicens:[4,8,7,3],pair:[4,2,5,6,7,8],http2_select:[5,8],later:[4,1,2,5,7,8,9],gracefulli:[5,8,7],show:[9,2],unprocess:[4,7],concurr:[4,8,6,1,5],permiss:[4,8,7,3],nghttp2_session_set_stream_user_data:[4,8,5],threshold:4,print_hd_tabl:2,onli:[4,5,6,7,8,9],explicitli:2,end_seg:[5,8],written:[4,8,6,7,5],overwritten:[5,8],hddeflat:[6,2],variou:[5,8],get:[4,2,5,6,7,8,9],outlen:[5,8,7],ssl:[0,8,1,5],cannot:[4,8,9,2,5],nghttpd:9,requir:[0,8,9,5],nghttp2_set_stream_user_data:4,burst:9,op_no_sslv2:[6,2],detect:[5,8,6,2],weighttp:6,nghttp2_hd_inflate_fin:[5,8],enough:[5,8],between:9,"import":[6,2],fcntl:4,awaaagqeaad__wuaaaab:6,pipefd:4,evdns_bas:7,come:1,submit_request:7,region:[5,8],contract:[4,8,7,3],fontend:9,tutori:0,mani:[5,8],nghttp2_ext_frame_typ:[5,8],nghttp2_data_provid:[4,8,5],inspir:6,nghttp2_err_too_many_inflight_set:[5,8],dispatch:9,cancel:[5,8],damag:[4,8,7,3],http2server:[6,2],header_table_s:6,"abstract":[4,7],nghttp2_on_unknown_frame_recv_callback:[5,8],nghttp2_err_buffer_error:[5,8],those:[4,8,1,7,5],"case":[4,2,5,6,7,8,9],hdr:[4,6,2,7],invok:[4,2,5,6,7,8,9],invoc:[4,8,2,5],margin:2,edch:6,nghttp2_nv_flag_no_index:[5,8],on_data_chunk_recv_callback:[5,8,7],stdout:[6,7],ascii:[5,8],develop:0,author:[4,2,3,6,7,8],bev_opt_defer_callback:[4,7],alphabet:[5,8],same:[4,2,5,6,8,9],ssl_library_init:[4,7],binari:7,pac:[6,9],pad:[5,8],document:[0,8,9,3],finish:[4,1,5,6,7,8],decompress:[5,8,6,1,2],handshake_leftlen:4,extern:8,postpon:[5,8],ai_next:4,without:[4,2,3,5,6,7,8,9],evict:[5,8],nghttp2_push_promis:[5,8],on_request_don:[6,2],event2:[4,7],nghttp2_err_def:[5,8],nghttp2_submit_set:[4,8,7,5],execut:[6,2],rest:1,multiplex:4,hint:4,except:[5,8,2],identif:[5,8],nghttp2_select_next_protocol:[5,8,7],nghttp2_ext_altsvc:[5,8],real:9,unistd:[4,7],create_http2_session_data:[4,7],nghttp2_version_ag:[5,8],arriv:[6,2],test:[0,9],traffic:[9,6,1],nghttp2_hd_inflate_change_table_s:[5,8],next_proto_cb:4,integ:[5,8],server:[0,8,9,5],either:[4,8,2,5],output:[4,2,5,6,7,8],manag:[4,8,5],stream_clos:[5,8],protocol_sslv23:[6,2],set_no_refset:2,ssl_ctx_set_next_protos_advertised_cb:4,handshak:[4,7],nonzero:[4,8,5],easili:7,"2xx":[6,1],exit:[4,7],data_ptr:[5,8],power:6,base64url:[5,8],inspect:[5,8],fulli:[4,8,5],getnameinfo:4,refers:2,src:6,inflater_ptr:[5,8],ack:[5,8,6],settings_payload:[5,8],act:[4,9,7],routin:[4,7],max_siz:6,least_vers:[5,8],error_repli:4,your:6,b2a_hex:[6,2],nghttp2_hcat_respons:[5,8,7],hex:[4,6],strict:6,nghttp2_err_stream_clos:[5,8],interfac:2,low:[5,8],lot:[5,8],ipv6:6,strictli:[5,8,1,2],next_proto_list:4,nghttp2_proto_version_id_len:[4,8,5],tupl:[6,2],nghttp2_err_invalid_st:[5,8],satur:6,nghttp2_flag_end_seg:[5,8],possibl:[4,8,7,5],"default":[0,8,1,5],applayerprotoneg:[5,8],hpack:[0,8,5],expect:[6,2],creat:[4,5,6,7,8,9],decreas:[5,8],file:[4,3,5,6,7,8,9],nghttp2_err_invalid_header_block:[5,8],fill:[4,8,5],denot:[5,8,7],functypedef:8,googl:[6,9],todo:[5,8],kbyte:[6,1],field:[4,2,5,6,7,8],valid:[5,8,6,9],nghttp2_prioriti:[5,8],ignor:[4,8,1,5],you:[4,2,5,6,7,8,9],intention:[5,8],sequenc:[4,2,5,6,7,8],promised_stream_user_data:[5,8],reduc:[5,8],cunit:6,directori:[4,6,7],represent:[5,3],all:[4,2,3,5,7,8],on_unknown_frame_recv_callback:[5,8],illustr:[6,2],nghttp2_err_start_stream_not_allow:[5,8],follow:[4,1,2,3,5,6,7,8,9],alt:6,ptr:[4,8,7,5],app_cont:4,uint8_t:[4,8,7,5],articl:9,readcb:[4,7],program:[0,9],bufferevent_writ:[4,7],uf_queri:7,evbuffer_remov:4,fals:6,pad_low:[5,8],nghttp2_option:[5,8],util:9,nghttp2_client_connection_header_len:[5,8],failur:[5,8],veri:[5,8,7],bottleneck:1,"__cplusplu":8,list:[4,8,2,5],nghttp2_headers_categori:[5,8],adjust:[5,8,6,1],stderr:[4,8,6,7,5],small:[5,8],inflate_header_block:[5,8],session_recv:4,rate:0,pass:[5,8,2,7],further:[4,8,7,5],what:[5,8,6,9,2],sub:4,sun:6,sum:[6,1],delet:[5,8,7],version:5,method:[4,2,5,6,7,8],libjansson:6,varnish:6,padlen:[5,8,6],percentage_of_original_s:6,excess:4,modifi:[4,8,6,7,3],valu:[4,2,5,6,7,8],search:4,ai_addrconfig:4,nghttp2_err_push_dis:[5,8],on_clos:[6,2],prior:6,amount:[4,8,2,7,5],action:[4,8,7,3,5],via:[4,5,6,7,8,9],primit:7,ask:[5,8],famili:[4,7],establish:[4,7],select:5,regist:4,libev:[0,6],taken:[5,8],minor:[5,3],more:[4,8,6,7,5],tsujikawa:[4,8,7,3],nghttp2_settings_header_table_s:[5,8],default_header_table_s:2,select_next_proto_cb:[5,8,7],flag:[4,8,6,7,5],sens:[5,8],cacert:9,nghttp2_err_wouldblock:[4,8,7,5],cach:[6,9],none:[6,2],endpoint:[5,8,6],dev:[6,3],remain:[4,8,7,5],def:[6,2],emiss:[5,8],accept:[4,8,6,5],minimum:[4,8,9,5],ssl_op_al:[4,7],nghttp2_submit_altsvc:[5,8],create_ssl:[4,7],strlen:[4,7],huge:[4,7],netinet:[4,7],secur:[6,9],anoth:[5,8,9],serveraddr:[6,9],reject:[5,8],sec9:[5,8],simpl:[4,8,7,5],css:[6,2],resourc:5,referenc:6,variant:[5,8],spdylai:[9,6,1],nghttp2_client_connection_preface_len:[4,8,7,5],associ:[4,2,3,5,6,7,8],stabil:6,"short":[4,7],caus:[5,8],callback:[4,2,5,6,7,8],nghttp2_nv_flag_non:[4,8,7,5],alpn:[5,8,6,9,2],authroiti:7,max_ag:[5,8],hypertext:[0,6],libcunit1:6,through:[4,6,9],paramet:[5,8,7],style:[6,2],nghttp2_hcat_push_respons:[5,8],pend:[4,8,7,5],nghttp2_err_eof:[5,8],progoram:7,valuelen:[4,8,7,5],"0x010203":[5,3],"return":[4,1,2,5,6,7,8,9],check_path:4,nghttp2_initial_max_concurrent_stream:[5,8],readlen:[4,7],nghttp2_err_callback_failur:[4,8,7,5],tear:[4,7],achiev:[4,8,5],found:[4,8,5],unicod:2,trailer:[5,8],nghttp2_on_frame_send_callback:[5,8],weight:[5,8],realli:[9,7],nghttp2_hd_inflate_flag:[5,8],connect:[4,1,3,5,6,7,8,9],field_set:7,event:[4,2,3,6,7,8],app_ctx:4,ftw:[6,2],publish:[4,8,7,3],payload:[5,8,1],etag:6,print:[6,2,7],on_frame_not_send_callback:[5,8],proxi:0,advanc:9,differ:[5,8,9],effect:[5,8],reason:[4,8,2,5],base:[4,6],put:[5,8],nghttp2_session_mem_recv:[4,8,7,5],nghttp2_flag:[5,8],recv:6,prefac:[4,8,9,7,5],omit:[5,8,2,7],nghttp2_err_invalid_stream_st:[5,8],assign:[4,8,7,5],feed:[4,8,7,5],major:[5,3],notifi:[4,8,5],prevent:[5,8,6],number:[4,1,2,3,5,8],done:[4,9,6,1,7],construct:[5,8,6,2],stdlib:8,nghttp2_internal_error:[4,8,5],script:[6,9,2],data_prd:[4,8,5],nghttp2_session_get_stream_user_data:[4,8,5],least:[5,8,6],scheme:[6,2,7],store:[4,8,7,5],input_length:6,"0x0":[5,8],option:[4,1,2,5,6,7,8,9],memcmp:4,nghttp2_client_connection_head:[5,8],part:1,pars:7,consult:9,window_upd:[5,8,6],doubli:4,remot:[4,8,7,5],remov:[4,8,6,5],bridg:0,str:2,consumpt:[4,7],nghttp2_error:[5,8],window_size_incr:[5,8,6],lib_error_cod:[5,8],arrlen:[4,7],packag:6,"null":[4,8,7,5],syn_stream:[5,8],sell:[4,8,7,3],outbound:[5,8],built:[6,1],equival:[5,8],check:[4,8,7,5],self:[6,9,2],also:[4,1,5,6,7,8,9],client_address:[6,2],nghttp2_err_frame_size_error:[5,8],make_nv:[4,7],distribut:[4,8,7,3],reacb:7,reach:[5,8],chart:[5,8],most:[5,8],charg:[4,8,7,3],addr:4,"01881f3468e5891afcbf83868a3d856659c62e3f":6,compar:[5,8],frame_size_error:[5,8],cover:[6,9],ext:[5,8],h2c:[8,6],pri_spec:[5,8],hdtabl:2,rtt:[5,8],microsec:[6,1],fine:[5,8],nghttp2_submit_push_promis:[5,8],copyright:[4,8,7,3],refused_stream:[5,8],nghttp2_opt_no_auto_stream_window_upd:[5,8],queu:[4,8,7,5],remedi:1,express:[4,8,7,3],kind:[4,8,7,3,5],nativ:[6,1],"3xx":[6,1],liabl:[4,8,7,3],before_frame_send_callback:[5,8],retreiv:7,crt:[4,6,9,2],certif:0,set:[4,1,2,5,6,7,8,9],seq:6,ousid:6,remove_stream:4,nghttp2_submit_goawai:[5,8],sec:[6,1],arg:[4,8,7,5],close:[4,2,5,6,7,8],jemalloc:6,analog:[5,8],strchr:4,someth:[5,8,9],won:[4,8,5],nghttp2_on_data_chunk_recv_callback:[5,8,7],altern:6,numer:[5,8,3],sole:[5,8],writelen:4,succeed:[6,1],percent_decod:4,verbos:6,both:[4,1,5,6,7,8,9],last:[5,8,6],delimit:6,nghttp2_data_flag_non:[5,8],nghttp2_session_want_writ:[4,8,7,5],tempor:[5,8],context:[4,5,6,7,8,9],compression_error:[5,8],whole:[5,8,6,2],load:6,simpli:[4,7],point:[4,8,7,5],header:[0,8,1,5],platform:6,shutdown:[4,8,7,5],nghttp2_session_client_new:[5,8,7],nghttp2_session:[4,8,7,5],backend:[6,9],due:[5,8],empti:[4,2,5,6,7,8],send_respons:[4,6,2],whom:[4,8,7,3],stdint:8,add_stream:4,flight:[5,8],nghttp2_err_nomem:[5,8],settings_enable_push:[5,8],nghttp2_session_terminate_sess:[5,8,7],buflen:[5,8],func:8,next_proto_list_len:4,look:[4,1,7],"while":[4,8,7,5],behavior:[5,8],error:[4,1,2,5,6,7,8],robin:1,loop:[4,6,2,7],malloc:[4,7],nghttp2_session_callback:[4,8,7,5],readi:4,user_data:[4,8,7,5],itself:[4,8,1,7,5],flow_control_error:[5,8],grant:[4,8,7,3],belong:[5,8],read:[0,8,5],decod:[4,8,6,2,5],uf_schema:7,mytyp:[5,8],inflat:[5,8,6,2],moment:6,user:[5,8,6,9,7],implement:[0,4,5,6,7,8],recent:[5,8],nghttp2_h:8,noninfring:[4,8,7,3],entri:[5,8,6,2],nghttp:9,person:[4,8,7,3],uint32_t:[4,8,5],on_frame_send_callback:[5,8],nghttp2_ping:[5,8],input:[4,8,6,7,5],subsequ:[5,8,2],build:0,bin:[6,2],on_begin_headers_callback:[4,8,7,5],obsolet:[5,8],format:[4,5,6,7,8,9],http_parser:7,nginx:6,bit:[5,8,3],like:[4,1,2,5,6,7,8,9],strstr:4,success:[5,8,6],signal:[4,8,7,5],lib_error:[5,8],some:[4,2,5,7,8,9],back:[5,8],sampl:6,reverse_proxi:9,libssl:6,lev_opt_reus:4,per:[9,6,1,2],pem:9,larg:[5,8,6],make_nv2:7,settings_compress_data:6,machin:[6,9],run:[4,2,5,6,7,8,9],step:[5,8],handshake_readcb:4,nghttp2_hd_inflate_emit:[5,8],commun:[4,6,7],idl:[5,8],dialog:9,block:[4,1,2,5,6,7,8],nghttp2_err_paus:[5,8],nsm:8,within:6,nghttp2_send_callback:[5,8,7],chang:[4,8,1,2,5],announc:6,occupi:[6,2],inclus:[5,8],errno:4,bodi:[4,1,2,5,6,7,8],"long":[5,8,6],nghttp2:5,suit:6,forward:[5,8,6,9],change_table_s:2,session_ptr:[5,8],repeatedli:[5,8],link:[4,6,9],translat:9,ni_maxhost:4,nghttp2_hd_inflate_end_head:[5,8],line:[9,6,1],mitig:6,concaten:[5,8],utf:2,caller:[4,8,5],nghttpx:0,clear:5,parser:7,repres:[5,8],"char":[4,8,7,5],incomplet:6,sublen:4,curl:9,titl:4,invalid:[5,8],transport:[6,7],particular:[4,8,7,3,5],nghttp2_default_header_table_s:[5,8],libtool:6,create_http2_stream_data:[4,7],algorithm:[5,8],svc:6,nghttp2_submit_request:[5,8,7],namelen:[4,8,7,5],far:[4,7],baseeventloop:2,asyncio:[6,2],getaddrinfo:4,code:[4,1,2,5,6,7,8],queri:7,nghttp2_frame_hd:[5,8],cython:6,privat:[4,6,9],send:[4,2,5,6,7,8,9],http_parser_url:7,lower:[5,8,9],aris:[4,8,7,3],fatal:[4,8,7,5],nghttp2_data_flag:[5,8],sent:[4,8,7,5],nghttp2_submit_p:[5,8],untouch:[5,8],relev:[4,7],tri:[5,8,9],magic:[4,7],button:9,http_parser_parse_url:7,"try":[5,8,6],session:[4,8,6,7,5],pleas:[4,1,5,6,7,8,9],impli:[4,8,7,3],smaller:6,snprintf:7,memset:[4,7],download:[0,6],c100:1,click:9,append:2,index:[5,8,6],o_rdonli:4,access:[5,8,6,9,2],experiment:0,nghttp2_hd_deflate_new:[5,8],can:[4,2,5,6,7,8,9],nghttp2_session_server_new:[4,8,5],ssl_ctx_set_opt:[4,7],nghttp2_enhance_your_calm:[5,8],len:[4,8,7,5],closur:[5,8,2,7],nghttp2_rst_stream:[5,8],ubuntu:6,becom:[4,8,1,3,5],sinc:[4,5,6,7,8,9],didn:6,larger:[5,8,2],ctx:[6,2],settings_payloadlen:[5,8],autoreconf:6,jansson:6,greac:[4,7],typic:6,set_npn_protocol:2,firefox:9,output_wouldblock_threshold:4,apr:6,appli:[5,8],gatewai:9,bufferev:[4,7],from:[0,8,9,3,5],nghttp2_err_invalid_stream_id:[5,8],binascii:[6,2],upgrad:[5,8,6,9],next:[4,8,7,5],implic:9,findproxyforurl:[6,9],usr:[6,2],nghttp2_nv:[4,8,7,5],nghttp2_option_del:[5,8],goawai:[4,8,6,7,5],deflat:[5,8,6,2],in_fin:[5,8],account:[5,8,6,7],retriev:[4,8,2,7,5],tunnel:6,nghttp2_settings_id:[5,8],about:[4,8,2,7,5],aliv:[4,8,5],sslv23_client_method:7,control:5,process:[4,2,5,6,7,8],nghttp2_session_get_remote_set:[5,8],high:2,fprintf:[4,8,7,5],tab:9,onlin:[5,6],serial:[4,8,7,5],evdns_base_fre:7,no_refset:[5,8,2],nghttp2_session_want_read:[4,8,7,5],gcm:6,ssl_ctx_use_privatekey_fil:4,evbas:[4,7],instead:[5,8,1,2],nullifi:[5,8],npn:[4,5,6,7,8,9],max_payloadlen:[5,8],eventcb:[4,7],nghttp2_compression_error:[5,8],alloc:[4,8,5],bind:0,nvlen:[4,8,7,5],correspond:[4,6],element:[4,8,5],issu:[0,1,5,6,8,9],stream_id:[4,2,5,6,7,8],nghttp2_connect_error:[5,8],ssize_t:[4,8,7,5],fallback:9,furnish:[4,8,7,3],move:[5,8],chosen:2,nghttp2_hd_inflate_hd:[5,8],therefor:[5,8,2,7],nghttp2_session_send:[4,8,7,5],inlen:[5,8,7],recept:[4,8,7,5],crash:[5,6],greater:[5,8],handl:[4,2,5,6,7,8],auto:1,nghttp2_goawai:[5,8],automat:[5,8,9],nghttp2_session_mem_send:[5,8],anyth:7,edit:9,uf_port:7,mode:0,ssl_filetype_pem:4,chunk:[5,8,6,2,7],ouf:[5,8],nghttp2_err_temporal_callback_failur:[4,8,5],"static":[4,8,6,7,5],our:7,patch:[5,6,3],out:[4,3,5,6,7,8,9],variabl:[6,2],req:[6,1],n1000:6,categori:[5,8,7],suitabl:[5,8],rel:4,field_data:7,recv_callback:[5,8],insid:6,cleartext:[5,8],releas:5,nghttp2_hd_inflate_non:[5,8],remap_requir:9,nghttp2_option_set_no_auto_connection_window_upd:[5,8],could:[4,8,2,7,5],keep:[4,8,6,7,5],length:[4,8,6,7,5],outsid:[5,6],retain:[5,8],softwar:[4,8,7,3],addrinfo:4,date:6,prioriti:[5,8],nghttp2_hd_inflat:[5,8],start:[4,1,5,6,7,8,9],unknown:[4,8,5],system:[4,9,7],messag:[5,8,7],attach:[4,7],attack:6,termin:[4,8,6,7,5],"final":[5,8],ipv4:6,request_head:[6,2],sa_handl:[4,7],enqueu:7,exactli:[4,6],nghttp2_err_header_comp:[5,8],see:[4,8,6,7,5],structur:[4,8,7,5],charact:[4,8,7,5],nghttp2_session_del:[4,8,7,5],bev:[4,7],ssl_new:[4,7],unencrypt:9,bufferevent_get_input:[4,7],corrupt:7,have:[4,8,6,7,5],reserv:[5,8,6],need:[5,8,6,9,7],ai_socktyp:4,"0x08":[5,8],"0x09":[5,8],origin_len:[5,8],"0x05":[5,8,6],"0x06":[5,8],"0x07":[5,8],"0x00":[5,8,6],"switch":[4,6,7],"0x02":[5,8],"0x03":[5,8],nghttp2_refused_stream:[5,8],evbuffer_pullup:[4,7],which:[4,1,2,5,6,7,8,9],zlib:6,singl:[4,2,5,6,7,8],opaque_data_len:[5,8],unless:[5,8],bufferevent_openssl_socket_new:[4,7],deploy:9,settings_max_concurrent_stream:[4,8,6,7,5],cipher:6,stream_data:[4,7],noind:6,deploi:6,"class":[6,2],nghttp2_error_cod:[4,8,7,5],nghttp2_err_stream_id_not_avail:[5,8],url:[4,6,9],request:[4,1,2,5,6,7,8,9],pipe:4,determin:[5,8,6,2],nghttp2_pack_settings_payload:[5,8],"0x0d":[5,8],"0x0a":[5,8],"0x0b":[5,8],"0x0c":[5,8],ssl_load_error_str:[4,7],bufferevent_get_output:[4,7],redirect:7,nghttp2_submit_rst_stream:[4,8,5],forev:2,should:[4,8,6,7,5],suppos:9,local:[5,8,9],meant:7,familiar:6,memcpi:[4,7],nghttp2_session_client_new2:[5,8],nghttp2_session_terminate_session2:[5,8],settings_initial_window_s:[5,8,6],nghttp2_data:[4,8,5],increas:[5,8],tbd:[5,8],portion:[4,2,3,5,7,8],nghttp2_submit_respons:[4,8,5],enabl:[6,9,2],whether:[4,8,7,3],contain:[4,2,5,6,7,8,9],nghttp2_window_upd:[5,8],frame:[4,2,5,6,7,8],ssl_ctx:[4,8,7,5],nghttp2_hd_deflat:[5,8],temporarili:[5,8],statu:[0,8,1,5],wire:[4,6,7],correctli:[5,8],nghttp2_settings_entri:[4,8,7,5],state:[4,8,6,5],https_uri:7,progress:6,nghttp2_initial_connection_window_s:[5,8],kei:[4,2,5,6,8,9],entir:[4,8,5],n100000:1,last_stream_id:[5,8,6],addit:[0,8,5],revers:[6,9],nghttp2_proto_version_id:[4,8,7,5],equal:4,etc:[4,6,7],instanc:[5,8,6,2],grain:[5,8],uint16_t:[5,8,7],get_hd_tabl:2,nghttp2_data_flag_eof:[4,8,5],rfc2616:[5,8],m10:[6,1],commenc:7,respect:[5,8,7],chromium:9,nghttp2_recv_callback:[5,8],ssl_ctx_set_next_proto_select_cb:[5,8,7],insuffici:[5,8],compon:7,json:6,treat:[4,8,5],immedi:[5,8],nghttp2_hcat_head:[5,8],altsvc:[5,8,6],http2jp:6,iobas:2,sock_stream:4,evconnlisten:4,on_header_callback:[4,8,7,5],nghttp2_frame_size_error:[5,8],plain:[6,9,2],defin:[4,8,7,3,5],sheme:1,eintr:4,inadequate_secur:[5,8],layer:6,helper:[5,8],on_request_recv:4,libxml2:6,squid:[6,9],site:6,archiv:[4,7],substanti:[4,8,7,3],incom:[4,2,5,6,8,9],let:[4,7],welcom:6,member:[4,8,5],python:0,ifndef:[8,3],nightli:9,http:5,hostnam:[6,9,2],uf_host:7,initi:[4,1,2,5,7,8],dealloc:[5,8],inflate_flag:[5,8],off:[9,7],well:[4,7],app_context:4,exampl:[4,2,5,6,7,8,9],command:[9,6,1],choos:[5,8],error_cod:[4,2,5,6,7,8],nghttp2_data_sourc:[4,8,5],usual:[5,8],paus:[5,8],less:[5,8,1],send_callback:[4,8,7,5],half:[5,8],obtain:[4,8,7,3],tcp:[4,8,9,7,5],libnghttp2:6,heavili:6,web:[4,6,9],wed:6,cert_fil:4,send_server_connection_head:4,priorit:[5,8],addrlen:4,add:[4,8,5],c10:6,match:[4,7],gmt:6,nvu:6,know:[5,8,9],nva:[4,8,7,5],python3:[6,2],resid:[4,7],"0x000402":3,foobarbuzz:6,protocol_id:[5,8,6],nghttp2_flag_end_head:[5,8],nghttp2_priority_spec_check_default:[5,8],necessari:[4,8,2,5],page:[4,7],file_read_callback:4,suppli:[5,8,9],"export":4,nghttp2_session_get_effective_recv_data_length:[5,8],error_html:4,librari:[5,1],lead:[5,8],avoid:[4,8,6,7,5],octet:[4,7],overlap:[5,8],isxdigit:4,outgo:[4,8,5],nghttp2_session_upgrad:[5,8],delete_http2_stream_data:[4,7],host:[0,1,2,4,5,6,7,8,9],nghttp2_nv_compare_nam:[5,8],nghttp2_extens:[5,8],err_get_error:[4,7],actual:[4,8,7,5],socket:[4,7],constructor:2,ssl_tlsext_err_ok:[4,8,7,5],disabl:[0,8,5],nghttp2_client_connection_prefac:[4,8,7,5],own:[5,8],nghttp2_err_invalid_fram:[5,8],ssl_op_no_sslv2:[4,7],warranti:[4,8,7,3],automak:6,merg:[4,8,7,3],val:[4,8,7,5],nghttp2_priority_spec_default_init:[5,8],ai_famili:4,transfer:[0,8,6,9,5],bump:[5,8],much:4,buz:[6,2],unexpect:[5,8],nghttp2_hd_deflate_bound:[5,8],bufferevent_fre:[4,7],overflow:[5,8],highest:[5,8],buf:[4,8,5],count:[5,8],succe:[5,8],nghttp2_stream_clos:[5,8],nghttp2_info:[5,8],googlecod:[5,8],asynchron:[5,8],limit:[0,8,3],otherwis:[4,1,3,5,7,8],problem:[5,8],sockaddr:4,nghttp2_on_frame_not_send_callback:[5,8],evalu:2,strndup:7,"int":[4,8,9,7,5],baserequesthandl:[6,2],nghttp2_flag_end_stream:[4,8,5],allow:[5,8,6],percent:4,detail:[5,8],other:[4,3,5,7,8,9],nghttp2_err_invalid_argu:[5,8],rememb:4,stat:4,nghttp2_max_weight:[5,8],err_error_str:[4,7],rel_path:4,proto_str:[5,8],session_data:[4,7],sphinx:6,eof:[4,8,5],indirectli:5,rule:[5,8],nghttp2_no_error:[5,8,7]},objtypes:{"0":"c:macro","1":"c:member","2":"c:function","3":"c:type","4":"py:module","5":"py:attribute","6":"py:method","7":"py:class","8":"py:data","9":"py:function"},objnames:{"0":["c","macro","C macro"],"1":["c","member","C member"],"2":["c","function","C function"],"3":["c","type","C type"],"4":["py","module","Python module"],"5":["py","attribute","Python attribute"],"6":["py","method","Python method"],"7":["py","class","Python class"],"8":["py","data","Python data"],"9":["py","function","Python function"]},filenames:["index","h2load-howto","python-apiref","nghttp2ver.h","tutorial-server","apiref","package_README","tutorial-client","nghttp2.h","nghttpx-howto"],titles:["nghttp2 - HTTP/2 C Library","h2load - HTTP/2 benchmarking tool - HOW-TO","Python API Reference","nghttp2ver.h","Tutorial: HTTP/2 server","API Reference","nghttp2 - HTTP/2 C Library","Tutorial: HTTP/2 client","nghttp2.h","nghttpx - HTTP/2 proxy - HOW-TO"],objects:{"":{NGHTTP2_ERR_INVALID_STATE:[5,0,1,"c.NGHTTP2_ERR_INVALID_STATE"],nghttp2_hd_inflate_end_headers:[5,2,1,"c.nghttp2_hd_inflate_end_headers"],NGHTTP2_ERR_INVALID_STREAM_STATE:[5,0,1,"c.NGHTTP2_ERR_INVALID_STREAM_STATE"],NGHTTP2_ERR_HEADER_COMP:[5,0,1,"c.NGHTTP2_ERR_HEADER_COMP"],NGHTTP2_SETTINGS_HEADER_TABLE_SIZE:[5,0,1,"c.NGHTTP2_SETTINGS_HEADER_TABLE_SIZE"],nghttp2_settings_entry:[5,3,1,"c.nghttp2_settings_entry"],NGHTTP2_INTERNAL_ERROR:[5,0,1,"c.NGHTTP2_INTERNAL_ERROR"],nghttp2_frame_hd:[5,3,1,"c.nghttp2_frame_hd"],nghttp2_on_frame_recv_callback:[5,3,1,"c.nghttp2_on_frame_recv_callback"],NGHTTP2_FLAG_PADDED:[5,0,1,"c.NGHTTP2_FLAG_PADDED"],nghttp2_priority_spec_init:[5,2,1,"c.nghttp2_priority_spec_init"],NGHTTP2_CLIENT_CONNECTION_HEADER_LEN:[5,0,1,"c.NGHTTP2_CLIENT_CONNECTION_HEADER_LEN"],nghttp2_goaway:[5,3,1,"c.nghttp2_goaway"],NGHTTP2_EXT_ALTSVC:[5,0,1,"c.NGHTTP2_EXT_ALTSVC"],nghttp2_ping:[5,3,1,"c.nghttp2_ping"],NGHTTP2_ERR_INVALID_FRAME:[5,0,1,"c.NGHTTP2_ERR_INVALID_FRAME"],nghttp2_hd_inflate_hd:[5,2,1,"c.nghttp2_hd_inflate_hd"],nghttp2_priority_spec:[5,3,1,"c.nghttp2_priority_spec"],nghttp2_frame_type:[5,3,1,"c.nghttp2_frame_type"],NGHTTP2_ERR_INVALID_STREAM_ID:[5,0,1,"c.NGHTTP2_ERR_INVALID_STREAM_ID"],nghttp2_select_next_protocol:[5,2,1,"c.nghttp2_select_next_protocol"],nghttp2_data_flag:[5,3,1,"c.nghttp2_data_flag"],NGHTTP2_ERR_INVALID_HEADER_BLOCK:[5,0,1,"c.NGHTTP2_ERR_INVALID_HEADER_BLOCK"],nghttp2_option_set_no_auto_stream_window_update:[5,2,1,"c.nghttp2_option_set_no_auto_stream_window_update"],nghttp2_session_callbacks:[5,3,1,"c.nghttp2_session_callbacks"],NGHTTP2_MAX_WINDOW_SIZE:[5,0,1,"c.NGHTTP2_MAX_WINDOW_SIZE"],NGHTTP2_ERR_TOO_MANY_INFLIGHT_SETTINGS:[5,0,1,"c.NGHTTP2_ERR_TOO_MANY_INFLIGHT_SETTINGS"],NGHTTP2_ERR_PROTO:[5,0,1,"c.NGHTTP2_ERR_PROTO"],nghttp2_hd_deflate_del:[5,2,1,"c.nghttp2_hd_deflate_del"],nghttp2_submit_window_update:[5,2,1,"c.nghttp2_submit_window_update"],NGHTTP2_ERR_UNSUPPORTED_VERSION:[5,0,1,"c.NGHTTP2_ERR_UNSUPPORTED_VERSION"],nghttp2_option:[5,3,1,"c.nghttp2_option"],NGHTTP2_SETTINGS_ENABLE_PUSH:[5,0,1,"c.NGHTTP2_SETTINGS_ENABLE_PUSH"],NGHTTP2_HD_INFLATE_FINAL:[5,0,1,"c.NGHTTP2_HD_INFLATE_FINAL"],nghttp2_session_client_new2:[5,2,1,"c.nghttp2_session_client_new2"],NGHTTP2_DATA:[5,0,1,"c.NGHTTP2_DATA"],nghttp2_hd_inflate_new:[5,2,1,"c.nghttp2_hd_inflate_new"],nghttp2_nv_flag:[5,3,1,"c.nghttp2_nv_flag"],nghttp2_on_header_callback:[5,3,1,"c.nghttp2_on_header_callback"],NGHTTP2_FLAG_ACK:[5,0,1,"c.NGHTTP2_FLAG_ACK"],NGHTTP2_STREAM_CLOSED:[5,0,1,"c.NGHTTP2_STREAM_CLOSED"],NGHTTP2_NV_FLAG_NO_INDEX:[5,0,1,"c.NGHTTP2_NV_FLAG_NO_INDEX"],nghttp2_headers_category:[5,3,1,"c.nghttp2_headers_category"],nghttp2_session_mem_send:[5,2,1,"c.nghttp2_session_mem_send"],nghttp2_error_code:[5,3,1,"c.nghttp2_error_code"],nghttp2_send_callback:[5,3,1,"c.nghttp2_send_callback"],nghttp2_on_data_chunk_recv_callback:[5,3,1,"c.nghttp2_on_data_chunk_recv_callback"],NGHTTP2_ERR_START_STREAM_NOT_ALLOWED:[5,0,1,"c.NGHTTP2_ERR_START_STREAM_NOT_ALLOWED"],nghttp2_hd_inflate_change_table_size:[5,2,1,"c.nghttp2_hd_inflate_change_table_size"],nghttp2_priority_spec_check_default:[5,2,1,"c.nghttp2_priority_spec_check_default"],nghttp2_strerror:[5,2,1,"c.nghttp2_strerror"],NGHTTP2_ERR_FATAL:[5,0,1,"c.NGHTTP2_ERR_FATAL"],nghttp2_submit_goaway:[5,2,1,"c.nghttp2_submit_goaway"],nghttp2_error:[5,3,1,"c.nghttp2_error"],NGHTTP2_INITIAL_CONNECTION_WINDOW_SIZE:[5,0,1,"c.NGHTTP2_INITIAL_CONNECTION_WINDOW_SIZE"],NGHTTP2_ERR_NOMEM:[5,0,1,"c.NGHTTP2_ERR_NOMEM"],NGHTTP2_ERR_PAUSE:[5,0,1,"c.NGHTTP2_ERR_PAUSE"],nghttp2_ext_frame_type:[5,3,1,"c.nghttp2_ext_frame_type"],NGHTTP2_ENHANCE_YOUR_CALM:[5,0,1,"c.NGHTTP2_ENHANCE_YOUR_CALM"],nghttp2_session_resume_data:[5,2,1,"c.nghttp2_session_resume_data"],NGHTTP2_NO_ERROR:[5,0,1,"c.NGHTTP2_NO_ERROR"],nghttp2_select_padding_callback:[5,3,1,"c.nghttp2_select_padding_callback"],nghttp2_session_get_effective_recv_data_length:[5,2,1,"c.nghttp2_session_get_effective_recv_data_length"],nghttp2_session_server_new2:[5,2,1,"c.nghttp2_session_server_new2"],NGHTTP2_ERR_DEFERRED:[5,0,1,"c.NGHTTP2_ERR_DEFERRED"],nghttp2_push_promise:[5,3,1,"c.nghttp2_push_promise"],NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE:[5,0,1,"c.NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE"],nghttp2_session_get_outbound_queue_size:[5,2,1,"c.nghttp2_session_get_outbound_queue_size"],NGHTTP2_PROTO_VERSION_ID_LEN:[5,0,1,"c.NGHTTP2_PROTO_VERSION_ID_LEN"],NGHTTP2_INITIAL_MAX_CONCURRENT_STREAMS:[5,0,1,"c.NGHTTP2_INITIAL_MAX_CONCURRENT_STREAMS"],nghttp2_data_source_read_callback:[5,3,1,"c.nghttp2_data_source_read_callback"],nghttp2_option_del:[5,2,1,"c.nghttp2_option_del"],NGHTTP2_ERR_FLOW_CONTROL:[5,0,1,"c.NGHTTP2_ERR_FLOW_CONTROL"],NGHTTP2_SETTINGS_TIMEOUT:[5,0,1,"c.NGHTTP2_SETTINGS_TIMEOUT"],nghttp2_hd_deflate_new:[5,2,1,"c.nghttp2_hd_deflate_new"],NGHTTP2_ERR_WOULDBLOCK:[5,0,1,"c.NGHTTP2_ERR_WOULDBLOCK"],nghttp2_hd_deflate_set_no_refset:[5,2,1,"c.nghttp2_hd_deflate_set_no_refset"],nghttp2_hd_deflate_change_table_size:[5,2,1,"c.nghttp2_hd_deflate_change_table_size"],NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE:[5,0,1,"c.NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE"],nghttp2_session_server_new:[5,2,1,"c.nghttp2_session_server_new"],NGHTTP2_ERR_BUFFER_ERROR:[5,0,1,"c.NGHTTP2_ERR_BUFFER_ERROR"],nghttp2_hd_inflate_del:[5,2,1,"c.nghttp2_hd_inflate_del"],NGHTTP2_CONTINUATION:[5,0,1,"c.NGHTTP2_CONTINUATION"],nghttp2_rst_stream:[5,3,1,"c.nghttp2_rst_stream"],NGHTTP2_ERR_INVALID_ARGUMENT:[5,0,1,"c.NGHTTP2_ERR_INVALID_ARGUMENT"],NGHTTP2_ERR_FRAME_SIZE_ERROR:[5,0,1,"c.NGHTTP2_ERR_FRAME_SIZE_ERROR"],nghttp2_session_del:[5,2,1,"c.nghttp2_session_del"],NGHTTP2_CLIENT_CONNECTION_PREFACE_LEN:[5,0,1,"c.NGHTTP2_CLIENT_CONNECTION_PREFACE_LEN"],NGHTTP2_HEADERS:[5,0,1,"c.NGHTTP2_HEADERS"],nghttp2_flag:[5,3,1,"c.nghttp2_flag"],NGHTTP2_DEFAULT_WEIGHT:[5,0,1,"c.NGHTTP2_DEFAULT_WEIGHT"],nghttp2_session_get_remote_settings:[5,2,1,"c.nghttp2_session_get_remote_settings"],nghttp2_hd_deflate_hd:[5,2,1,"c.nghttp2_hd_deflate_hd"],nghttp2_priority_spec_default_init:[5,2,1,"c.nghttp2_priority_spec_default_init"],NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS:[5,0,1,"c.NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS"],NGHTTP2_HCAT_REQUEST:[5,0,1,"c.NGHTTP2_HCAT_REQUEST"],NGHTTP2_FLAG_END_HEADERS:[5,0,1,"c.NGHTTP2_FLAG_END_HEADERS"],NGHTTP2_ERR_PUSH_DISABLED:[5,0,1,"c.NGHTTP2_ERR_PUSH_DISABLED"],NGHTTP2_HD_INFLATE_EMIT:[5,0,1,"c.NGHTTP2_HD_INFLATE_EMIT"],NGHTTP2_RST_STREAM:[5,0,1,"c.NGHTTP2_RST_STREAM"],nghttp2_option_set_peer_max_concurrent_streams:[5,2,1,"c.nghttp2_option_set_peer_max_concurrent_streams"],NGHTTP2_ERR_EOF:[5,0,1,"c.NGHTTP2_ERR_EOF"],NGHTTP2_HCAT_HEADERS:[5,0,1,"c.NGHTTP2_HCAT_HEADERS"],NGHTTP2_VERSION_NUM:[5,0,1,"c.NGHTTP2_VERSION_NUM"],NGHTTP2_SETTINGS:[5,0,1,"c.NGHTTP2_SETTINGS"],nghttp2_frame:[5,3,1,"c.nghttp2_frame"],nghttp2_submit_push_promise:[5,2,1,"c.nghttp2_submit_push_promise"],NGHTTP2_ERR_DEFERRED_DATA_EXIST:[5,0,1,"c.NGHTTP2_ERR_DEFERRED_DATA_EXIST"],NGHTTP2_CANCEL:[5,0,1,"c.NGHTTP2_CANCEL"],NGHTTP2_REFUSED_STREAM:[5,0,1,"c.NGHTTP2_REFUSED_STREAM"],nghttp2_on_frame_send_callback:[5,3,1,"c.nghttp2_on_frame_send_callback"],nghttp2_session_mem_recv:[5,2,1,"c.nghttp2_session_mem_recv"],NGHTTP2_VERSION:[5,0,1,"c.NGHTTP2_VERSION"],nghttp2_session:[5,3,1,"c.nghttp2_session"],NGHTTP2_COMPRESSION_ERROR:[5,0,1,"c.NGHTTP2_COMPRESSION_ERROR"],NGHTTP2_HCAT_PUSH_RESPONSE:[5,0,1,"c.NGHTTP2_HCAT_PUSH_RESPONSE"],NGHTTP2_CLEARTEXT_PROTO_VERSION_ID:[5,0,1,"c.NGHTTP2_CLEARTEXT_PROTO_VERSION_ID"],nghttp2_submit_rst_stream:[5,2,1,"c.nghttp2_submit_rst_stream"],nghttp2_submit_headers:[5,2,1,"c.nghttp2_submit_headers"],nghttp2_recv_callback:[5,3,1,"c.nghttp2_recv_callback"],NGHTTP2_DEFAULT_HEADER_TABLE_SIZE:[5,0,1,"c.NGHTTP2_DEFAULT_HEADER_TABLE_SIZE"],nghttp2_session_get_stream_user_data:[5,2,1,"c.nghttp2_session_get_stream_user_data"],NGHTTP2_FLAG_PRIORITY:[5,0,1,"c.NGHTTP2_FLAG_PRIORITY"],nghttp2:[2,4,0,"-"],nghttp2_nv:[5,3,1,"c.nghttp2_nv"],nghttp2_on_invalid_frame_recv_callback:[5,3,1,"c.nghttp2_on_invalid_frame_recv_callback"],nghttp2_version:[5,2,1,"c.nghttp2_version"],nghttp2_session_want_write:[5,2,1,"c.nghttp2_session_want_write"],nghttp2_on_unknown_frame_recv_callback:[5,3,1,"c.nghttp2_on_unknown_frame_recv_callback"],NGHTTP2_CLIENT_CONNECTION_PREFACE:[5,0,1,"c.NGHTTP2_CLIENT_CONNECTION_PREFACE"],NGHTTP2_ERR_STREAM_CLOSED:[5,0,1,"c.NGHTTP2_ERR_STREAM_CLOSED"],nghttp2_hd_deflate_bound:[5,2,1,"c.nghttp2_hd_deflate_bound"],NGHTTP2_ERR_CALLBACK_FAILURE:[5,0,1,"c.NGHTTP2_ERR_CALLBACK_FAILURE"],NGHTTP2_ERR_GOAWAY_ALREADY_SENT:[5,0,1,"c.NGHTTP2_ERR_GOAWAY_ALREADY_SENT"],NGHTTP2_FLOW_CONTROL_ERROR:[5,0,1,"c.NGHTTP2_FLOW_CONTROL_ERROR"],NGHTTP2_CLEARTEXT_PROTO_VERSION_ID_LEN:[5,0,1,"c.NGHTTP2_CLEARTEXT_PROTO_VERSION_ID_LEN"],nghttp2_session_set_stream_user_data:[5,2,1,"c.nghttp2_session_set_stream_user_data"],nghttp2_check_header_value:[5,2,1,"c.nghttp2_check_header_value"],NGHTTP2_ERR_STREAM_CLOSING:[5,0,1,"c.NGHTTP2_ERR_STREAM_CLOSING"],NGHTTP2_INADEQUATE_SECURITY:[5,0,1,"c.NGHTTP2_INADEQUATE_SECURITY"],nghttp2_session_client_new:[5,2,1,"c.nghttp2_session_client_new"],nghttp2_hd_inflater:[5,3,1,"c.nghttp2_hd_inflater"],nghttp2_check_header_name:[5,2,1,"c.nghttp2_check_header_name"],nghttp2_info:[5,3,1,"c.nghttp2_info"],NGHTTP2_PROTO_VERSION_ID:[5,0,1,"c.NGHTTP2_PROTO_VERSION_ID"],nghttp2_settings_id:[5,3,1,"c.nghttp2_settings_id"],NGHTTP2_DATA_FLAG_EOF:[5,0,1,"c.NGHTTP2_DATA_FLAG_EOF"],nghttp2_hd_inflate_flag:[5,3,1,"c.nghttp2_hd_inflate_flag"],nghttp2_session_send:[5,2,1,"c.nghttp2_session_send"],NGHTTP2_PROTOCOL_ERROR:[5,0,1,"c.NGHTTP2_PROTOCOL_ERROR"],nghttp2_hd_deflater:[5,3,1,"c.nghttp2_hd_deflater"],nghttp2_session_upgrade:[5,2,1,"c.nghttp2_session_upgrade"],nghttp2_on_begin_headers_callback:[5,3,1,"c.nghttp2_on_begin_headers_callback"],NGHTTP2_ERR_INSUFF_BUFSIZE:[5,0,1,"c.NGHTTP2_ERR_INSUFF_BUFSIZE"],nghttp2_ext_altsvc:[5,3,1,"c.nghttp2_ext_altsvc"],nghttp2_settings:[5,3,1,"c.nghttp2_settings"],nghttp2_on_frame_not_send_callback:[5,3,1,"c.nghttp2_on_frame_not_send_callback"],nghttp2_option_set_no_auto_connection_window_update:[5,2,1,"c.nghttp2_option_set_no_auto_connection_window_update"],nghttp2_submit_data:[5,2,1,"c.nghttp2_submit_data"],nghttp2_window_update:[5,3,1,"c.nghttp2_window_update"],nghttp2_session_get_stream_remote_window_size:[5,2,1,"c.nghttp2_session_get_stream_remote_window_size"],NGHTTP2_CLIENT_CONNECTION_HEADER:[5,0,1,"c.NGHTTP2_CLIENT_CONNECTION_HEADER"],NGHTTP2_FLAG_NONE:[5,0,1,"c.NGHTTP2_FLAG_NONE"],nghttp2_session_terminate_session:[5,2,1,"c.nghttp2_session_terminate_session"],nghttp2_submit_altsvc:[5,2,1,"c.nghttp2_submit_altsvc"],NGHTTP2_DATA_FLAG_NONE:[5,0,1,"c.NGHTTP2_DATA_FLAG_NONE"],NGHTTP2_NV_FLAG_NONE:[5,0,1,"c.NGHTTP2_NV_FLAG_NONE"],nghttp2_submit_settings:[5,2,1,"c.nghttp2_submit_settings"],nghttp2_is_fatal:[5,2,1,"c.nghttp2_is_fatal"],NGHTTP2_PING:[5,0,1,"c.NGHTTP2_PING"],NGHTTP2_MAX_WEIGHT:[5,0,1,"c.NGHTTP2_MAX_WEIGHT"],nghttp2_priority:[5,3,1,"c.nghttp2_priority"],nghttp2_session_want_read:[5,2,1,"c.nghttp2_session_want_read"],NGHTTP2_VERSION_AGE:[5,0,1,"c.NGHTTP2_VERSION_AGE"],NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE:[5,0,1,"c.NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE"],NGHTTP2_CONNECT_ERROR:[5,0,1,"c.NGHTTP2_CONNECT_ERROR"],NGHTTP2_HD_INFLATE_NONE:[5,0,1,"c.NGHTTP2_HD_INFLATE_NONE"],NGHTTP2_FLAG_END_STREAM:[5,0,1,"c.NGHTTP2_FLAG_END_STREAM"],nghttp2_on_stream_close_callback:[5,3,1,"c.nghttp2_on_stream_close_callback"],NGHTTP2_PUSH_PROMISE:[5,0,1,"c.NGHTTP2_PUSH_PROMISE"],nghttp2_data_provider:[5,3,1,"c.nghttp2_data_provider"],NGHTTP2_ERR_DATA_EXIST:[5,0,1,"c.NGHTTP2_ERR_DATA_EXIST"],nghttp2_session_recv:[5,2,1,"c.nghttp2_session_recv"],nghttp2_option_new:[5,2,1,"c.nghttp2_option_new"],nghttp2_session_get_effective_local_window_size:[5,2,1,"c.nghttp2_session_get_effective_local_window_size"],NGHTTP2_INITIAL_WINDOW_SIZE:[5,0,1,"c.NGHTTP2_INITIAL_WINDOW_SIZE"],NGHTTP2_WINDOW_UPDATE:[5,0,1,"c.NGHTTP2_WINDOW_UPDATE"],NGHTTP2_FLAG_END_SEGMENT:[5,0,1,"c.NGHTTP2_FLAG_END_SEGMENT"],NGHTTP2_HCAT_RESPONSE:[5,0,1,"c.NGHTTP2_HCAT_RESPONSE"],nghttp2_submit_priority:[5,2,1,"c.nghttp2_submit_priority"],nghttp2_session_get_stream_effective_local_window_size:[5,2,1,"c.nghttp2_session_get_stream_effective_local_window_size"],nghttp2_headers:[5,3,1,"c.nghttp2_headers"],nghttp2_before_frame_send_callback:[5,3,1,"c.nghttp2_before_frame_send_callback"],NGHTTP2_GOAWAY:[5,0,1,"c.NGHTTP2_GOAWAY"],nghttp2_session_terminate_session2:[5,2,1,"c.nghttp2_session_terminate_session2"],NGHTTP2_MIN_WEIGHT:[5,0,1,"c.NGHTTP2_MIN_WEIGHT"],nghttp2_submit_ping:[5,2,1,"c.nghttp2_submit_ping"],NGHTTP2_FRAME_SIZE_ERROR:[5,0,1,"c.NGHTTP2_FRAME_SIZE_ERROR"],NGHTTP2_ERR_STREAM_SHUT_WR:[5,0,1,"c.NGHTTP2_ERR_STREAM_SHUT_WR"],nghttp2_submit_response:[5,2,1,"c.nghttp2_submit_response"],NGHTTP2_PRIORITY:[5,0,1,"c.NGHTTP2_PRIORITY"],nghttp2_submit_request:[5,2,1,"c.nghttp2_submit_request"],nghttp2_session_get_stream_effective_recv_data_length:[5,2,1,"c.nghttp2_session_get_stream_effective_recv_data_length"],nghttp2_extension:[5,3,1,"c.nghttp2_extension"],nghttp2_pack_settings_payload:[5,2,1,"c.nghttp2_pack_settings_payload"],nghttp2_data:[5,3,1,"c.nghttp2_data"],nghttp2_data_source:[5,3,1,"c.nghttp2_data_source"],nghttp2_nv_compare_name:[5,2,1,"c.nghttp2_nv_compare_name"]},nghttp2_frame:{push_promise:[5,1,1,"c.nghttp2_frame.push_promise"],settings:[5,1,1,"c.nghttp2_frame.settings"],ping:[5,1,1,"c.nghttp2_frame.ping"],rst_stream:[5,1,1,"c.nghttp2_frame.rst_stream"],ext:[5,1,1,"c.nghttp2_frame.ext"],priority:[5,1,1,"c.nghttp2_frame.priority"],headers:[5,1,1,"c.nghttp2_frame.headers"],goaway:[5,1,1,"c.nghttp2_frame.goaway"],window_update:[5,1,1,"c.nghttp2_frame.window_update"],data:[5,1,1,"c.nghttp2_frame.data"],hd:[5,1,1,"c.nghttp2_frame.hd"]},nghttp2_settings_entry:{settings_id:[5,1,1,"c.nghttp2_settings_entry.settings_id"],value:[5,1,1,"c.nghttp2_settings_entry.value"]},nghttp2_window_update:{hd:[5,1,1,"c.nghttp2_window_update.hd"],window_size_increment:[5,1,1,"c.nghttp2_window_update.window_size_increment"]},nghttp2_frame_hd:{stream_id:[5,1,1,"c.nghttp2_frame_hd.stream_id"],length:[5,1,1,"c.nghttp2_frame_hd.length"],flags:[5,1,1,"c.nghttp2_frame_hd.flags"],type:[5,1,1,"c.nghttp2_frame_hd.type"]},nghttp2_push_promise:{padlen:[5,1,1,"c.nghttp2_push_promise.padlen"],nvlen:[5,1,1,"c.nghttp2_push_promise.nvlen"],promised_stream_id:[5,1,1,"c.nghttp2_push_promise.promised_stream_id"],hd:[5,1,1,"c.nghttp2_push_promise.hd"],nva:[5,1,1,"c.nghttp2_push_promise.nva"]},nghttp2_ping:{hd:[5,1,1,"c.nghttp2_ping.hd"]},nghttp2_priority:{pri_spec:[5,1,1,"c.nghttp2_priority.pri_spec"],hd:[5,1,1,"c.nghttp2_priority.hd"]},nghttp2_priority_spec:{stream_id:[5,1,1,"c.nghttp2_priority_spec.stream_id"],weight:[5,1,1,"c.nghttp2_priority_spec.weight"],exclusive:[5,1,1,"c.nghttp2_priority_spec.exclusive"]},nghttp2:{HTTP2Server:[2,7,1,""],HDDeflater:[2,7,1,""],DEFLATE_MAX_HEADER_TABLE_SIZE:[2,8,1,""],DEFAULT_HEADER_TABLE_SIZE:[2,8,1,""],HDInflater:[2,7,1,""],print_hd_table:[2,9,1,""],BaseRequestHandler:[2,7,1,""]},nghttp2_nv:{valuelen:[5,1,1,"c.nghttp2_nv.valuelen"],namelen:[5,1,1,"c.nghttp2_nv.namelen"],flags:[5,1,1,"c.nghttp2_nv.flags"],name:[5,1,1,"c.nghttp2_nv.name"],value:[5,1,1,"c.nghttp2_nv.value"]},nghttp2_ext_altsvc:{origin:[5,1,1,"c.nghttp2_ext_altsvc.origin"],max_age:[5,1,1,"c.nghttp2_ext_altsvc.max_age"],protocol_id:[5,1,1,"c.nghttp2_ext_altsvc.protocol_id"],origin_len:[5,1,1,"c.nghttp2_ext_altsvc.origin_len"],host:[5,1,1,"c.nghttp2_ext_altsvc.host"],protocol_id_len:[5,1,1,"c.nghttp2_ext_altsvc.protocol_id_len"],host_len:[5,1,1,"c.nghttp2_ext_altsvc.host_len"],port:[5,1,1,"c.nghttp2_ext_altsvc.port"]},nghttp2_session_callbacks:{on_invalid_frame_recv_callback:[5,1,1,"c.nghttp2_session_callbacks.on_invalid_frame_recv_callback"],before_frame_send_callback:[5,1,1,"c.nghttp2_session_callbacks.before_frame_send_callback"],on_stream_close_callback:[5,1,1,"c.nghttp2_session_callbacks.on_stream_close_callback"],on_data_chunk_recv_callback:[5,1,1,"c.nghttp2_session_callbacks.on_data_chunk_recv_callback"],on_begin_headers_callback:[5,1,1,"c.nghttp2_session_callbacks.on_begin_headers_callback"],send_callback:[5,1,1,"c.nghttp2_session_callbacks.send_callback"],on_unknown_frame_recv_callback:[5,1,1,"c.nghttp2_session_callbacks.on_unknown_frame_recv_callback"],on_header_callback:[5,1,1,"c.nghttp2_session_callbacks.on_header_callback"],on_frame_recv_callback:[5,1,1,"c.nghttp2_session_callbacks.on_frame_recv_callback"],select_padding_callback:[5,1,1,"c.nghttp2_session_callbacks.select_padding_callback"],on_frame_not_send_callback:[5,1,1,"c.nghttp2_session_callbacks.on_frame_not_send_callback"],on_frame_send_callback:[5,1,1,"c.nghttp2_session_callbacks.on_frame_send_callback"],recv_callback:[5,1,1,"c.nghttp2_session_callbacks.recv_callback"]},nghttp2_data_provider:{source:[5,1,1,"c.nghttp2_data_provider.source"],read_callback:[5,1,1,"c.nghttp2_data_provider.read_callback"]},nghttp2_rst_stream:{error_code:[5,1,1,"c.nghttp2_rst_stream.error_code"],hd:[5,1,1,"c.nghttp2_rst_stream.hd"]},nghttp2_headers:{pri_spec:[5,1,1,"c.nghttp2_headers.pri_spec"],nvlen:[5,1,1,"c.nghttp2_headers.nvlen"],cat:[5,1,1,"c.nghttp2_headers.cat"],padlen:[5,1,1,"c.nghttp2_headers.padlen"],nva:[5,1,1,"c.nghttp2_headers.nva"],hd:[5,1,1,"c.nghttp2_headers.hd"]},nghttp2_goaway:{opaque_data:[5,1,1,"c.nghttp2_goaway.opaque_data"],error_code:[5,1,1,"c.nghttp2_goaway.error_code"],opaque_data_len:[5,1,1,"c.nghttp2_goaway.opaque_data_len"],hd:[5,1,1,"c.nghttp2_goaway.hd"],last_stream_id:[5,1,1,"c.nghttp2_goaway.last_stream_id"]},"nghttp2.BaseRequestHandler":{on_data:[2,6,1,""],on_close:[2,6,1,""],method:[2,5,1,""],on_headers:[2,6,1,""],stream_id:[2,5,1,""],host:[2,5,1,""],on_request_done:[2,6,1,""],push:[2,6,1,""],path:[2,5,1,""],scheme:[2,5,1,""],send_response:[2,6,1,""],client_address:[2,5,1,""]},nghttp2_info:{age:[5,1,1,"c.nghttp2_info.age"],version_str:[5,1,1,"c.nghttp2_info.version_str"],version_num:[5,1,1,"c.nghttp2_info.version_num"],proto_str:[5,1,1,"c.nghttp2_info.proto_str"]},"nghttp2.HDDeflater":{change_table_size:[2,6,1,""],get_hd_table:[2,6,1,""],deflate:[2,6,1,""],set_no_refset:[2,6,1,""]},"nghttp2.HTTP2Server":{serve_forever:[2,6,1,""]},nghttp2_data:{padlen:[5,1,1,"c.nghttp2_data.padlen"]},"nghttp2.HDInflater":{change_table_size:[2,6,1,""],inflate:[2,6,1,""],get_hd_table:[2,6,1,""]},nghttp2_data_source:{fd:[5,1,1,"c.nghttp2_data_source.fd"],ptr:[5,1,1,"c.nghttp2_data_source.ptr"]},nghttp2_extension:{payload:[5,1,1,"c.nghttp2_extension.payload"],hd:[5,1,1,"c.nghttp2_extension.hd"]},nghttp2_settings:{niv:[5,1,1,"c.nghttp2_settings.niv"],hd:[5,1,1,"c.nghttp2_settings.hd"],iv:[5,1,1,"c.nghttp2_settings.iv"]}},titleterms:{control:1,certif:9,protocol:1,version:0,from:6,text:1,statu:6,header:6,rate:9,api:[5,2],http:[0,1,2,4,6,7,9],select:1,typedef:5,git:6,multipl:1,struct:5,union:5,libev:[4,7],client:[6,9,7],write:9,how:[9,1],nghttp2:[0,8,6],bridg:9,build:6,basic:1,test:6,limit:9,flow:1,document:6,type:5,"public":6,includ:5,"function":5,program:6,resourc:0,proxi:[6,9],python:[6,2],benchmark:[6,1],tool:[6,1],"enum":5,usag:1,nghttp2ver:3,specifi:9,compressor:6,remark:5,releas:0,develop:6,decompressor:6,addit:9,multi:1,nghttpd:6,thread:1,ssl:9,read:9,macro:5,clear:1,nghttp:6,requir:6,uri:1,server:[4,6,2],inflatehd:6,"default":9,tutori:[4,7],deflatehd:6,mode:9,hpack:[6,2],bind:6,nghttpx:[6,9],refer:[5,2],h2load:1,disabl:9,librari:[0,6]}}) \ No newline at end of file