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