From b7e21b0cd2cde40f4b110a65eb6ab21618826663 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Fri, 25 Apr 2014 01:41:11 +0900 Subject: [PATCH] Update doc --- apiref.html | 244 ++++++++++++++++++++------------------------ genindex.html | 86 +++++++--------- nghttp2.h.html | 224 ++++++++++++++++++---------------------- objects.inv | Bin 2475 -> 2442 bytes package_README.html | 20 ++-- searchindex.js | 2 +- 6 files changed, 257 insertions(+), 319 deletions(-) diff --git a/apiref.html b/apiref.html index 9d88cae2..c749623d 100644 --- a/apiref.html +++ b/apiref.html @@ -228,19 +228,19 @@ TCP.

NGHTTP2_DEFAULT_WEIGHT
-

The default weight of priority group.

+

The default weight of stream dependency.

NGHTTP2_MAX_WEIGHT
-

The maximum weight of priority group.

+

The maximum weight of stream dependency.

NGHTTP2_MIN_WEIGHT
-

The minimum weight of priority group.

+

The minimum weight of stream dependency.

@@ -648,6 +648,13 @@ The CONTINUATION frame.

The ALTSVC frame.

+
+
+NGHTTP2_BLOCKED
+

(0x0b) +The BLOCKED frame.

+
+
@@ -705,17 +712,17 @@ The PAD_HIGH flag.

-
-NGHTTP2_FLAG_PRIORITY_GROUP
+
+NGHTTP2_FLAG_PRIORITY

(0x20) -The PRIORITY_GROUP flag.

+The PRIORITY flag.

-
-NGHTTP2_FLAG_PRIORITY_DEPENDENCY
-

(0x40) -The PRIORITY_DEPENDENCY flag.

+
+NGHTTP2_FLAG_COMPRESSED
+

(0x20) +THE COMPRESSED flag.

@@ -752,10 +759,17 @@ SETTINGS_MAX_CONCURRENT_STREAMS

SETTINGS_INITIAL_WINDOW_SIZE

+
+
+NGHTTP2_SETTINGS_COMPRESS_DATA
+

(5) +SETTINGS_COMPRESS_DATA

+
+
NGHTTP2_SETTINGS_MAX
-

(4) +

(5) Maximum ID of nghttp2_settings_id.

@@ -877,6 +891,13 @@ No flag set.

Indicates EOF was sensed.

+
+
+NGHTTP2_DATA_FLAG_COMPRESSED
+

(0x02) +Indicates data was compressed by application.

+
+
@@ -921,34 +942,6 @@ which is analogous to HEADERS in SPDY.

-
-
-nghttp2_priority_type
-

The type of priority specified in nghttp2_priority_spec.

-
-
-NGHTTP2_PRIORITY_TYPE_NONE
-

(0) -No priority is given. The default priority will be used.

-
- -
-
-NGHTTP2_PRIORITY_TYPE_GROUP
-

(1) -Priority group ID and its weight are specified.

-
- -
-
-NGHTTP2_PRIORITY_TYPE_DEP
-

(2) -The stream ID of a stream to depend on and its exclusive flag is -specified.

-
- -
-

Types (structs, unions and typedefs)

@@ -1089,8 +1082,12 @@ the source. The read data is sent in the stream stream_id. The implementation of this function must read at most length bytes of data from source (or possibly other places) and store them in buf and return number of data stored in buf. If EOF is -reached, set NGHTTP2_DATA_FLAG_EOF flag in *data_falgs. -If the application wants to postpone DATA frames (e.g., +reached, set NGHTTP2_DATA_FLAG_EOF flag in *data_flags.

+

To send compressed data payload without affecting content-length, +set NGHTTP2_DATA_FLAG_COMPRESSED flag in *data_flags. +Compression must be done by application prior to fill data in +buf.

+

If the application wants to postpone DATA frames (e.g., asynchronous I/O, or reading data blocks for long time), it is achieved by returning NGHTTP2_ERR_DEFERRED without reading any data in this invocation. The library removes DATA frame from @@ -1136,75 +1133,27 @@ and PAD_LOW.

-
-
-nghttp2_priority_group
-

This structure stores priority group ID and its weight.

-
-
-int32_t pri_group_id
-

The priority group ID

-
- -
-
-int32_t weight
-

The weight of the priority group

-
- -
- -
-
-nghttp2_priority_dep
-

This structure stores stream ID of the stream to depend on and its -dependency is exclusive or not.

-
-
-int32_t stream_id
-

The stream ID of the stream to depend on.

-
- -
-
-uint8_t exclusive
-

nonzero means exclusive dependency

-
- -
-
nghttp2_priority_spec
-

The structure to specify stream dependency. To specify stream -dependency, specify pri_type and fill the group or dep member -according to pri_type.

+

The structure to specify stream dependency.

-
-nghttp2_priority_type pri_type
-

Type of priority specification. If pri_type is -NGHTTP2_PRIORITY_TYPE_GROUP, fill group. If pri_type -is NGHTTP2_PRIORITY_TYPE_DEP, fill dep. If pri_type -is NGHTTP2_PRIORITY_TYPE_NONE, the other data members are -ignored and it means that default priority group ID (which is -same as the stream ID) and default weight -NGHTTP2_DEFAULT_WEIGHT are specified.

+
+int32_t stream_id
+

The stream ID of the stream to depend on. Specifying 0 makes +stream not depend any other stream.

-
-nghttp2_priority_group group
-

Specify priority group ID and its weight. This field is -interpreted only when pri_type member is -NGHTTP2_PRIORITY_TYPE_GROUP.

+
+int32_t weight
+

The weight of this dependency.

-
-nghttp2_priority_dep dep
-

Specify stream ID of a stream to depend on and exclusive flag. -This field is interpreted only when pri_type member is -NGHTTP2_PRIORITY_TYPE_DEP.

+
+uint8_t exclusive
+

nonzero means exclusive dependency

@@ -1499,6 +1448,18 @@ uint16_t port +
+nghttp2_blocked
+

The BLOCKED frame. It has following members:

+
+
+nghttp2_frame_hd hd
+

The frame header.

+
+ +
+
nghttp2_frame
@@ -1571,6 +1532,12 @@ from here because the library deals with it internally.

The ALTSVC frame.

+
+
+nghttp2_blocked blocked
+

The BLOCKED frame.

+
+
@@ -2490,27 +2457,27 @@ const char* nghttp2_strerror(int l
-
-void nghttp2_priority_spec_group_init(nghttp2_priority_spec *pri_spec, int32_t pri_group_id, int32_t weight)
-

Initializes pri_spec with priority group ID pri_group_id and -its weight weight.

+
+void nghttp2_priority_spec_init(nghttp2_priority_spec *pri_spec, int32_t stream_id, int32_t weight, int exclusive)
+

Initializes pri_spec with the stream_id of the stream to depend +on with weight and its exclusive flag. If exclusive is +nonzero, exclusive flag is set.

The weight must be in [NGHTTP2_MIN_WEIGHT, -NGHTTP2_MAX_WEIGHT], inclusive. If weight is strictly -less than NGHTTP2_MIN_WEIGHT, it becomes -NGHTTP2_MIN_WEIGHT. If it is strictly greater than -NGHTTP2_MAX_WEIGHT, it becomes NGHTTP2_MAX_WEIGHT.

-

To specify weight for the default priority group (which is the same -as the stream ID of the stream) in nghttp2_submit_request() and -nghttp2_submit_headers() and its stream ID is not known in -advance, specify -1 to pri_group_id.

+NGHTTP2_MAX_WEIGHT], inclusive.

-
-void nghttp2_priority_spec_dep_init(nghttp2_priority_spec *pri_spec, int32_t stream_id, int exclusive)
-

Initializes pri_spec with the stream_id of the stream to depend -on and its exclusive flag. If exclusive is nonzero, exclusive -flag is set.

+
+void nghttp2_priority_spec_default_init(nghttp2_priority_spec *pri_spec)
+

Initializes pri_spec with the default values. The default values +are: stream_id = 0, weight = NGHTTP2_DEFAULT_WEIGHT and +exclusive = 0.

+
+ +
+
+int nghttp2_priority_spec_check_default(const nghttp2_priority_spec *pri_spec)
+

Returns nonzero if the pri_spec is filled with default values.

@@ -2518,11 +2485,15 @@ flag is set.

int nghttp2_submit_request(nghttp2_session *session, const nghttp2_priority_spec *pri_spec, const nghttp2_nv *nva, size_t nvlen, const nghttp2_data_provider *data_prd, void *stream_user_data)

Submits HEADERS frame and optionally one or more DATA frames.

The pri_spec is priority specification of this request. NULL -means the default priority (priority group ID becomes its stream ID -and weight is NGHTTP2_DEFAULT_WEIGHT). To specify the -priority, use either nghttp2_priority_spec_group_init() or -nghttp2_priority_spec_dep_init(). If pri_spec is not NULL, +means the default priority (see +nghttp2_priority_spec_default_init()). To specify the priority, +use nghttp2_priority_spec_init(). If pri_spec is not NULL, this function will copy its data members.

+

The pri_spec->weight() must be in [NGHTTP2_MIN_WEIGHT, +NGHTTP2_MAX_WEIGHT], inclusive. If pri_spec->weight() is +strictly less than NGHTTP2_MIN_WEIGHT, it becomes +NGHTTP2_MIN_WEIGHT. If it is strictly greater than +NGHTTP2_MAX_WEIGHT, it becomes NGHTTP2_MAX_WEIGHT.

The nva is an array of name/value pair nghttp2_nv with nvlen elements. The value is opaque sequence of bytes and therefore can contain NULL byte (0x0). If the application requires @@ -2560,8 +2531,6 @@ negative error codes:

NGHTTP2_ERR_NOMEM
Out of memory.
-
NGHTTP2_ERR_INVALID_ARGUMENT
-
The pri_spec->pri_type is invalid.
@@ -2616,11 +2585,15 @@ request HEADERS frame which opens new stream). In this case, the actual stream ID is assigned just before the frame is sent. For response, specify stream ID in stream_id.

The pri_spec is priority specification of this request. NULL -means the default priority (priority group ID becomes its stream ID -and weight is NGHTTP2_DEFAULT_WEIGHT). To specify the -priority, use either nghttp2_priority_spec_group_init() or -nghttp2_priority_spec_dep_init(). If pri_spec is not NULL, +means the default priority (see +nghttp2_priority_spec_default_init()). To specify the priority, +use nghttp2_priority_spec_init(). If pri_spec is not NULL, this function will copy its data members.

+

The pri_spec->weight() must be in [NGHTTP2_MIN_WEIGHT, +NGHTTP2_MAX_WEIGHT], inclusive. If pri_spec->weight() is +strictly less than NGHTTP2_MIN_WEIGHT, it becomes +NGHTTP2_MIN_WEIGHT. If it is strictly greater than +NGHTTP2_MAX_WEIGHT, it becomes NGHTTP2_MAX_WEIGHT.

The nva is an array of name/value pair nghttp2_nv with nvlen elements. The value is opaque sequence of bytes and therefore can contain NULL byte (0x0). If the application requires @@ -2641,8 +2614,6 @@ negative error codes:

NGHTTP2_ERR_NOMEM
Out of memory.
-
NGHTTP2_ERR_INVALID_ARGUMENT
-
The pri_spec->pri_type is invalid.
@@ -2674,18 +2645,21 @@ to the priority specification pri_spec.

The flags is currently ignored and should be NGHTTP2_FLAG_NONE.

The pri_spec is priority specification of this request. NULL -is not allowed for this function. To specify the priority, use -either nghttp2_priority_spec_group_init() or -nghttp2_priority_spec_dep_init(). This function will copy its -data members.

+is not allowed for this function. To specify the priority, use +nghttp2_priority_spec_init(). This function will copy its data +members.

+

The pri_spec->weight() must be in [NGHTTP2_MIN_WEIGHT, +NGHTTP2_MAX_WEIGHT], inclusive. If pri_spec->weight() is +strictly less than NGHTTP2_MIN_WEIGHT, it becomes +NGHTTP2_MIN_WEIGHT. If it is strictly greater than +NGHTTP2_MAX_WEIGHT, it becomes NGHTTP2_MAX_WEIGHT.

This function returns 0 if it succeeds, or one of the following negative error codes:

NGHTTP2_ERR_NOMEM
Out of memory.
NGHTTP2_ERR_INVALID_ARGUMENT
-
The pri_spec is NULL; or the pri_spec->pri_type is invalid; -or trying to depend on itself.
+
The pri_spec is NULL; or trying to depend on itself.
diff --git a/genindex.html b/genindex.html index e2134b0c..7f0f6f31 100644 --- a/genindex.html +++ b/genindex.html @@ -215,6 +215,18 @@ +
NGHTTP2_BLOCKED (C macro) +
+ + +
nghttp2_blocked (C type) +
+ + +
nghttp2_blocked.hd (C member) +
+ +
NGHTTP2_CANCEL (C macro)
@@ -279,6 +291,10 @@ +
NGHTTP2_DATA_FLAG_COMPRESSED (C macro) +
+ +
NGHTTP2_DATA_FLAG_EOF (C macro)
@@ -463,6 +479,10 @@ +
NGHTTP2_FLAG_COMPRESSED (C macro) +
+ +
NGHTTP2_FLAG_END_HEADERS (C macro)
@@ -487,11 +507,7 @@ -
NGHTTP2_FLAG_PRIORITY_DEPENDENCY (C macro) -
- - -
NGHTTP2_FLAG_PRIORITY_GROUP (C macro) +
NGHTTP2_FLAG_PRIORITY (C macro)
@@ -507,6 +523,10 @@ +
nghttp2_frame.blocked (C member) +
+ +
nghttp2_frame.data (C member)
@@ -710,6 +730,8 @@
NGHTTP2_INTERNAL_ERROR (C macro)
+ +
nghttp2_is_fatal (C function)
@@ -734,8 +756,6 @@
NGHTTP2_NO_ERROR (C macro)
-
-
nghttp2_nv (C type)
@@ -869,67 +889,31 @@ -
nghttp2_priority_dep (C type) -
- - -
nghttp2_priority_dep.exclusive (C member) -
- - -
nghttp2_priority_dep.stream_id (C member) -
- - -
nghttp2_priority_group (C type) -
- - -
nghttp2_priority_group.pri_group_id (C member) -
- - -
nghttp2_priority_group.weight (C member) -
- -
nghttp2_priority_spec (C type)
-
nghttp2_priority_spec.dep (C member) +
nghttp2_priority_spec.exclusive (C member)
-
nghttp2_priority_spec.group (C member) +
nghttp2_priority_spec.stream_id (C member)
-
nghttp2_priority_spec.pri_type (C member) +
nghttp2_priority_spec.weight (C member)
-
nghttp2_priority_spec_dep_init (C function) +
nghttp2_priority_spec_check_default (C function)
-
nghttp2_priority_spec_group_init (C function) +
nghttp2_priority_spec_default_init (C function)
-
nghttp2_priority_type (C type) -
- - -
NGHTTP2_PRIORITY_TYPE_DEP (C macro) -
- - -
NGHTTP2_PRIORITY_TYPE_GROUP (C macro) -
- - -
NGHTTP2_PRIORITY_TYPE_NONE (C macro) +
nghttp2_priority_spec_init (C function)
@@ -1177,6 +1161,10 @@ +
NGHTTP2_SETTINGS_COMPRESS_DATA (C macro) +
+ +
NGHTTP2_SETTINGS_ENABLE_PUSH (C macro)
diff --git a/nghttp2.h.html b/nghttp2.h.html index 26205352..47e6ba26 100644 --- a/nghttp2.h.html +++ b/nghttp2.h.html @@ -202,7 +202,7 @@ * The protocol version identification string of this library * supports. This identifier is used if HTTP/2 is used over TLS. */ -#define NGHTTP2_PROTO_VERSION_ID "h2-11" +#define NGHTTP2_PROTO_VERSION_ID "h2-12" /** * @macro * @@ -217,7 +217,7 @@ * supports. This identifier is used if HTTP/2 is used over cleartext * TCP. */ -#define NGHTTP2_CLEARTEXT_PROTO_VERSION_ID "h2c-11" +#define NGHTTP2_CLEARTEXT_PROTO_VERSION_ID "h2c-12" /** * @macro @@ -275,21 +275,21 @@ /** * @macro * - * The default weight of priority group. + * The default weight of stream dependency. */ #define NGHTTP2_DEFAULT_WEIGHT 16 /** * @macro * - * The maximum weight of priority group. + * The maximum weight of stream dependency. */ #define NGHTTP2_MAX_WEIGHT 256 /** * @macro * - * The minimum weight of priority group. + * The minimum weight of stream dependency. */ #define NGHTTP2_MIN_WEIGHT 1 @@ -604,7 +604,11 @@ /** * The ALTSVC frame. */ - NGHTTP2_ALTSVC = 0x0a + NGHTTP2_ALTSVC = 0x0a, + /** + * The BLOCKED frame. + */ + NGHTTP2_BLOCKED = 0x0b } nghttp2_frame_type; /** @@ -643,13 +647,13 @@ */ NGHTTP2_FLAG_PAD_HIGH = 0x10, /** - * The PRIORITY_GROUP flag. + * The PRIORITY flag. */ - NGHTTP2_FLAG_PRIORITY_GROUP = 0x20, + NGHTTP2_FLAG_PRIORITY = 0x20, /** - * The PRIORITY_DEPENDENCY flag. + * THE COMPRESSED flag. */ - NGHTTP2_FLAG_PRIORITY_DEPENDENCY = 0x40 + NGHTTP2_FLAG_COMPRESSED = 0x20 } nghttp2_flag; /** @@ -674,9 +678,13 @@ */ NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE = 4, /** + * SETTINGS_COMPRESS_DATA + */ + NGHTTP2_SETTINGS_COMPRESS_DATA = 5, + /** * Maximum ID of :type:`nghttp2_settings_id`. */ - NGHTTP2_SETTINGS_MAX = 4 + NGHTTP2_SETTINGS_MAX = 5 } nghttp2_settings_id; /** @@ -799,7 +807,11 @@ /** * Indicates EOF was sensed. */ - NGHTTP2_DATA_FLAG_EOF = 0x01 + NGHTTP2_DATA_FLAG_EOF = 0x01, + /** + * Indicates data was compressed by application. + */ + NGHTTP2_DATA_FLAG_COMPRESSED = 0x02 } nghttp2_data_flag; /** @@ -810,7 +822,13 @@ * The implementation of this function must read at most |length| * bytes of data from |source| (or possibly other places) and store * them in |buf| and return number of data stored in |buf|. If EOF is - * reached, set :enum:`NGHTTP2_DATA_FLAG_EOF` flag in |*data_falgs|. + * reached, set :enum:`NGHTTP2_DATA_FLAG_EOF` flag in |*data_flags|. + * + * To send compressed data payload without affecting content-length, + * set :enum:`NGHTTP2_DATA_FLAG_COMPRESSED` flag in |*data_flags|. + * Compression must be done by application prior to fill data in + * |buf|. + * * If the application wants to postpone DATA frames (e.g., * asynchronous I/O, or reading data blocks for long time), it is * achieved by returning :enum:`NGHTTP2_ERR_DEFERRED` without reading @@ -892,93 +910,25 @@ NGHTTP2_HCAT_HEADERS = 3 } nghttp2_headers_category; -/** - * @enum - * - * The type of priority specified in :type:`nghttp2_priority_spec`. - */ -typedef enum { - /** - * No priority is given. The default priority will be used. - */ - NGHTTP2_PRIORITY_TYPE_NONE = 0, - /** - * Priority group ID and its weight are specified. - */ - NGHTTP2_PRIORITY_TYPE_GROUP = 1, - /** - * The stream ID of a stream to depend on and its exclusive flag is - * specified. - */ - NGHTTP2_PRIORITY_TYPE_DEP = 2 -} nghttp2_priority_type; - /** * @struct * - * This structure stores priority group ID and its weight. + * The structure to specify stream dependency. */ typedef struct { /** - * The priority group ID - */ - int32_t pri_group_id; - /** - * The weight of the priority group - */ - int32_t weight; -} nghttp2_priority_group; - -/** - * @struct - * - * This structure stores stream ID of the stream to depend on and its - * dependency is exclusive or not. - */ -typedef struct { - /** - * The stream ID of the stream to depend on. + * The stream ID of the stream to depend on. Specifying 0 makes + * stream not depend any other stream. */ int32_t stream_id; /** + * The weight of this dependency. + */ + int32_t weight; + /** * nonzero means exclusive dependency */ uint8_t exclusive; -} nghttp2_priority_dep; - -/** - * @struct - * - * The structure to specify stream dependency. To specify stream - * dependency, specify |pri_type| and fill the |group| or |dep| member - * according to |pri_type|. - */ -typedef struct { - /** - * Type of priority specification. If |pri_type| is - * :enum:`NGHTTP2_PRIORITY_TYPE_GROUP`, fill |group|. If |pri_type| - * is :enum:`NGHTTP2_PRIORITY_TYPE_DEP`, fill |dep|. If |pri_type| - * is :enum:`NGHTTP2_PRIORITY_TYPE_NONE`, the other data members are - * ignored and it means that default priority group ID (which is - * same as the stream ID) and default weight - * :macro:`NGHTTP2_DEFAULT_WEIGHT` are specified. - */ - nghttp2_priority_type pri_type; - - union { - /** - * Specify priority group ID and its weight. This field is - * interpreted only when |pri_type| member is - * :enum:`NGHTTP2_PRIORITY_TYPE_GROUP`. - */ - nghttp2_priority_group group; - /** - * Specify stream ID of a stream to depend on and exclusive flag. - * This field is interpreted only when |pri_type| member is - * :enum:`NGHTTP2_PRIORITY_TYPE_DEP`. - */ - nghttp2_priority_dep dep; - } spec; } nghttp2_priority_spec; /** @@ -1215,6 +1165,18 @@ uint16_t port; } nghttp2_altsvc; +/** + * @struct + * + * The BLOCKED frame. It has following members: + */ +typedef struct { + /** + * The frame header. + */ + nghttp2_frame_hd hd; +} nghttp2_blocked; + /** * @union * @@ -1267,6 +1229,10 @@ * The ALTSVC frame. */ nghttp2_altsvc altsvc; + /** + * The BLOCKED frame. + */ + nghttp2_blocked blocked; } nghttp2_frame; /** @@ -2314,32 +2280,32 @@ /** * @function * - * Initializes |pri_spec| with priority group ID |pri_group_id| and - * its weight |weight|. + * Initializes |pri_spec| with the |stream_id| of the stream to depend + * on with |weight| and its exclusive flag. If |exclusive| is + * nonzero, exclusive flag is set. * * The |weight| must be in [:enum:`NGHTTP2_MIN_WEIGHT`, - * :enum:`NGHTTP2_MAX_WEIGHT`], inclusive. If |weight| is strictly - * less than :enum:`NGHTTP2_MIN_WEIGHT`, it becomes - * :enum:`NGHTTP2_MIN_WEIGHT`. If it is strictly greater than - * :enum:`NGHTTP2_MAX_WEIGHT`, it becomes :enum:`NGHTTP2_MAX_WEIGHT`. - * - * To specify weight for the default priority group (which is the same - * as the stream ID of the stream) in `nghttp2_submit_request()` and - * `nghttp2_submit_headers()` and its stream ID is not known in - * advance, specify -1 to |pri_group_id|. + * :enum:`NGHTTP2_MAX_WEIGHT`], inclusive. */ -void nghttp2_priority_spec_group_init(nghttp2_priority_spec *pri_spec, - int32_t pri_group_id, int32_t weight); +void nghttp2_priority_spec_init(nghttp2_priority_spec *pri_spec, + int32_t stream_id, int32_t weight, + int exclusive); /** * @function * - * Initializes |pri_spec| with the |stream_id| of the stream to depend - * on and its exclusive flag. If |exclusive| is nonzero, exclusive - * flag is set. + * Initializes |pri_spec| with the default values. The default values + * are: stream_id = 0, weight = :macro:`NGHTTP2_DEFAULT_WEIGHT` and + * exclusive = 0. */ -void nghttp2_priority_spec_dep_init(nghttp2_priority_spec *pri_spec, - int32_t stream_id, int exclusive); +void nghttp2_priority_spec_default_init(nghttp2_priority_spec *pri_spec); + +/** + * @function + * + * Returns nonzero if the |pri_spec| is filled with default values. + */ +int nghttp2_priority_spec_check_default(const nghttp2_priority_spec *pri_spec); /** * @function @@ -2347,12 +2313,17 @@ * Submits HEADERS frame and optionally one or more DATA frames. * * The |pri_spec| is priority specification of this request. ``NULL`` - * means the default priority (priority group ID becomes its stream ID - * and weight is :macro:`NGHTTP2_DEFAULT_WEIGHT`). To specify the - * priority, use either `nghttp2_priority_spec_group_init()` or - * `nghttp2_priority_spec_dep_init()`. If |pri_spec| is not ``NULL``, + * means the default priority (see + * `nghttp2_priority_spec_default_init()`). To specify the priority, + * use `nghttp2_priority_spec_init()`. If |pri_spec| is not ``NULL``, * this function will copy its data members. * + * The `pri_spec->weight` must be in [:enum:`NGHTTP2_MIN_WEIGHT`, + * :enum:`NGHTTP2_MAX_WEIGHT`], inclusive. If `pri_spec->weight` is + * strictly less than :enum:`NGHTTP2_MIN_WEIGHT`, it becomes + * :enum:`NGHTTP2_MIN_WEIGHT`. If it is strictly greater than + * :enum:`NGHTTP2_MAX_WEIGHT`, it becomes :enum:`NGHTTP2_MAX_WEIGHT`. + * * The |nva| is an array of name/value pair :type:`nghttp2_nv` with * |nvlen| elements. The value is opaque sequence of bytes and * therefore can contain NULL byte (0x0). If the application requires @@ -2395,8 +2366,6 @@ * * :enum:`NGHTTP2_ERR_NOMEM` * Out of memory. - * :enum:`NGHTTP2_ERR_INVALID_ARGUMENT` - * The |pri_spec->pri_type| is invalid. */ int nghttp2_submit_request(nghttp2_session *session, const nghttp2_priority_spec *pri_spec, @@ -2467,12 +2436,17 @@ * response, specify stream ID in |stream_id|. * * The |pri_spec| is priority specification of this request. ``NULL`` - * means the default priority (priority group ID becomes its stream ID - * and weight is :macro:`NGHTTP2_DEFAULT_WEIGHT`). To specify the - * priority, use either `nghttp2_priority_spec_group_init()` or - * `nghttp2_priority_spec_dep_init()`. If |pri_spec| is not ``NULL``, + * means the default priority (see + * `nghttp2_priority_spec_default_init()`). To specify the priority, + * use `nghttp2_priority_spec_init()`. If |pri_spec| is not ``NULL``, * this function will copy its data members. * + * The `pri_spec->weight` must be in [:enum:`NGHTTP2_MIN_WEIGHT`, + * :enum:`NGHTTP2_MAX_WEIGHT`], inclusive. If `pri_spec->weight` is + * strictly less than :enum:`NGHTTP2_MIN_WEIGHT`, it becomes + * :enum:`NGHTTP2_MIN_WEIGHT`. If it is strictly greater than + * :enum:`NGHTTP2_MAX_WEIGHT`, it becomes :enum:`NGHTTP2_MAX_WEIGHT`. + * * The |nva| is an array of name/value pair :type:`nghttp2_nv` with * |nvlen| elements. The value is opaque sequence of bytes and * therefore can contain NULL byte (0x0). If the application requires @@ -2497,8 +2471,6 @@ * * :enum:`NGHTTP2_ERR_NOMEM` * Out of memory. - * :enum:`NGHTTP2_ERR_INVALID_ARGUMENT` - * The |pri_spec->pri_type| is invalid. */ int nghttp2_submit_headers(nghttp2_session *session, uint8_t flags, int32_t stream_id, @@ -2540,10 +2512,15 @@ * :enum:`NGHTTP2_FLAG_NONE`. * * The |pri_spec| is priority specification of this request. ``NULL`` - * is not allowed for this function. To specify the priority, use - * either `nghttp2_priority_spec_group_init()` or - * `nghttp2_priority_spec_dep_init()`. This function will copy its - * data members. + * is not allowed for this function. To specify the priority, use + * `nghttp2_priority_spec_init()`. This function will copy its data + * members. + * + * The `pri_spec->weight` must be in [:enum:`NGHTTP2_MIN_WEIGHT`, + * :enum:`NGHTTP2_MAX_WEIGHT`], inclusive. If `pri_spec->weight` is + * strictly less than :enum:`NGHTTP2_MIN_WEIGHT`, it becomes + * :enum:`NGHTTP2_MIN_WEIGHT`. If it is strictly greater than + * :enum:`NGHTTP2_MAX_WEIGHT`, it becomes :enum:`NGHTTP2_MAX_WEIGHT`. * * This function returns 0 if it succeeds, or one of the following * negative error codes: @@ -2551,8 +2528,7 @@ * :enum:`NGHTTP2_ERR_NOMEM` * Out of memory. * :enum:`NGHTTP2_ERR_INVALID_ARGUMENT` - * The |pri_spec| is NULL; or the |pri_spec->pri_type| is invalid; - * or trying to depend on itself. + * The |pri_spec| is NULL; or trying to depend on itself. */ int nghttp2_submit_priority(nghttp2_session *session, uint8_t flags, int32_t stream_id, diff --git a/objects.inv b/objects.inv index 5f91afb697128e4e1305dbc853fddab3835ad3dc..f36e8b076b6ec8a0ddd61744bb2c2c88ba342d11 100644 GIT binary patch delta 2338 zcmV+-3ElRq6N(d%fq!$OI1s+iuW;4wb*S1o?v1hKgjx(<9?4`bDgv@i1p~{&p6svR z79b3OB{CA1y^$##ze4AW2?>@U7I~!>$O9f~Q#pKc`Xu z8-A;gOkXjFFMsXL_U=a27?*jTVLiBNpr?N~8F!7J3^jbEdpcj6`a?6L!(5lGPzFAT zAQDBX@15dJ;Sz?8-JM0LfQ9v2c<|vSaCR4ND+JD z>hmJbinw~`WiCSPEMoW`H*%i^=inW4Sm{YS1xYQCD}uGdE~^SQQ^KeBBnzZ*cXb+8 zu=D$aVGzN8j=?VunU3Z=5v0wD<=jezYe(N8Q{nJTFuQ4ksCn$p)3@`p!}JX|Rx^DM zKEx>;Zhsto63KI8vaAXb9C?^zr649{-Sph2C2~Ve=%nIT#Z@lBx>}Pprb^E(n|A^K z-L#i~(MuyHeSd0M%u=nVw!Bz2ta!zKpsJGGpJ&^AqgyX9Y;79wLtpC9uh=@aXQQ6p z=s$=B^kS4QwTQGTQ29$$PH=QQEbuMY-)?QkV}C3D#2gn=J!*Mb-gqA3pn4#|ti}Rc z-+e?)aRywNoq3&u3kwQxf~_|w37h^TRzaWrhmDuKkvy4<+DJ`s?;<=Z7L zO&bfoT9D9}OvHlv(*;k*IZn!7#Xe4zyQ1*aFr1zt-0f$4AYJCE#6H7?(m43E{v#H@ ziGQNV3La(=%5TTu2I&#wBU7&+VZqigbF1I0*ky(2>gh~U0@34m%1S!t$#8YJ%Z7xrABO9p3p)sGOy6M??uP*r4T@Kw7q}%_+h`~i*z^=b{nX_Ch_R_so`f@y_Le>zr={wki(f;T z)kP@y#}!}%t@qCG5r8o*7Zjqbp^{1C zlBA37Ao8gydUfO~$f$hbIs?vDTR$>b#K1P7T4>HwcnQ{6O3>Dbj8cMU!}4_x%lt=B zh@>d#&V#>!M2AQBQj2U(jsQ#==+${UPwV4c!5e_`T3@oss-WJ`$~?I2jephSpw#QW z>G5YKg(?DGeND3PP0*5So)s0H^ivC1Z?2{8afkiwGbB1~2n@4UBty%*j4`z1s?`(J zFNqd;E+9~)Kp$plSQiB(#x6Y2AhJ6w5(s4W8gFKd#nb?Whb(_Xx+latC+0l*!*kuXS zDp*T`ekS~de7nYrWQs%h)P8~Vq;;4NjWGv`1u?!l6VxRXFbXWc@eZ-u2^e@197z#2kL1|*ubd~}(77v?B6pYsAvq70Sf_7kcAnke z(#ve{AJqnck0y-MO@HEZG?~EPhFyaY0y0!ZoK$r_&!A}fF}w*OuqD}vf)`19wR3*< z7!h2Bn&^Tl>5_YJ^Z->+<}@sT%zpzd2L8!_-;k415=$nKiZc~ZQdC+BV3oXhjx0*+ zR)`}MukE`7r+Cb@>!s)}t4l)!S}<%jza&M_SSce4ni3gv^nX3bSa@!gFJ12cn(?4+@8x6y`>4_3 zQqf2RkJA{feXG0Vd0oKQr3C{F?sX5(Xko?s>kX@iS(=K*O!F*1QuokTs~0&8*QBU* z4VpwmeSyJERDU$#+G`PWv2`JiStaH`>d%^Z>D`^`h6m;9Blu+57Nb#Usf`lZOeKnA zoXUoa%k>{Ujy3TsOzIMj50}O+MQn1D*G-ESqjkfh@bw36l|bRQQ@H5rDt_uFe$=vs zm#+tnOz4JfbahvtMt@)w`KrBjBxwv;9{f}Hw_Ug-eSfFFf0{tFF;3~h)?PfdLfU7|14}5irAEi#4;X3|E?Mg}>S& z{~^GIihP^j)`Hd)+LBM=J+}(zY#oVu?R#~nrKD4QTW~j(zg=N_fk#b(1Y4j!L-=? I2f7t^q&0zZ1ONa4 delta 2371 zcmV-J3B2}-6RQ)Dfq#>mI1s+)SGa2T8dq(Odm~2nP>aFgF_YPgiUHZCf`Ra`GyChe z1qhq*gKlz~@)#kh)&2F?pW25kiqlB^nw3@bcM`mbWcK;5S^oa{(0wuASBK<}**c5r zM9d8NuTMLX-Wa6*+l^=+Ek#g-`{9G_|GLNA_JK{X6Q9!EzJIFnFFZ)9@)*wd(JcJ? zAP#S$nEf>i^0*M&c2qe3bN2a@wR-Zr%@@ubha1+jW*RzoJgvxn58po@rts*UIdXS%6T3{qerGDG%SxfmS)P$+74=()~1aI zR`0oZ_-ua!g$R$A<{ur|IXZY@m4#Wt;|S-2H{Bo#s(*lo`#Sw`wGhNBn;oD-ZebeC z^1x#(i!D6Ewv;QF%$n%PrAS0raX421o*i-ZyDT^b?--M($N4cxYJm)PSPJ1F55X@E zKt=?T21CFJVudCXaBt~oYb5Sn;umIbt#3DvJ$U*7yczm*Y>QJktvI?9U{gb-tO^kv zc$j3RAb;YeW_s@P0=c2aqf_y#;wr?)vVcz=#voo6&uI)Y}C_ok+jrywn@lo$vuD{vXj>mNV%p4a07`41CZyXPCPJexhXI5i@jqg68rZ@oy%uc+{!Gi_H z0LqPE>kWUw@+e*NG}MaH<7gn=j)nGbq|gEj%MHEJMxw8`a|@9R({`DTXD0JL;UN~( zpC$M;&P`JOCU$YEoD;=q)NIysYXQrKSk>8g3af*ODzVFOku!|7dH)ehqC`<-1rM_b zm4DY9*Xs_8mSvlij`F?Byxg#XF6Clfu4mLM$M!c9Q|_DCW`*d|?Zk2d${9x)3*5ki zoN3xGBkq0qf+ajIxuxgWCJA;&`D;G_LRua_HXXM?r;do0A0vUz`n?Z~v8@lRy^S6u zRsJuQ1uH;eB`|9n91LKtNkFNV79-77zkeO#>dfR(28&C+1*U}Fgkc$;0fpd2;WCAd zSoWH&@x(*(T}H54QC3~f!C4LtGiz%|IqWxRF_~mv?o#Gs&b}M2hcXPL2YfYtzcw6= z5J{wow6?>NG(O^X-vh7rx?vRbZ9QI1i1m4ObfqYcqJZ+^^aYJCm;8nzujyb1~x5m0aDdh;BJ6)hUq&bQ4Yf*ni@n=b|{R| zdP!3cf=!PxApKnKj~Jo~`DASa=(q6UI4zZ>UHlr#tS&;qKdt~HlHIGiiPR_(InE`{ zIEv;4osI*uN&1Tx7<-288Ea=-egkISWod$n*9b`8HpJ$wr}cq9Rjed ziz3vn26g7V`&7pN2{2DshyxS_G~g&iSwr@dr$Q2Gx)aRDGVhhIsEEW8ko#~sS?>K< ztW#7=2*bJf6()5VACY6jy$FAFwH{Al0VMj(_tBhKipv_puzbzK3M2#SMSs%WG-u_n z0a5Wqj#O-$QzsCihU#^Z!qfUNRjuDRY^g2SX!=oaXw@)Wn!u`-z$rA}^!N*tdLHW4 z>b@i^D!TMRO?&;`7n;W%_RVKVYTH!f%+g6#lgN&-TK{r_7}3gpl4$Z=Km8`DbvKk7JpS7q( z!!59<)7R1;3z_khVm(QV@K@V+WHmxl8__jgD;R13QGmUaz{DM@y?=%T<2Hdjp4$dk zA@3RBq}`2exi~#$VKU9}*mv)$xS|x{gTzme1UtHjzM`HdK|d4zy1!lHS>{76klc-s z9_Jk?Llejg?SkAo0|XM)ICCpDI|J4wWHSn5zwr*S-3l0Z6gG~mlhfkx) zKmFP-Q`wo8P8^4(X`K_q`3iGu8N@PK-v%xPFa zfxkf^3KbuNA_TyKh7n0DnR+Ttc%gn-sxAv6j4jbXX|a>>8?OSE!#QHQ4)59;>9PU7B2A&yo9N-2&=Db?-w zgv*(mnFy2MAAfZ!PiU3Jd+ZInhgq76#>CTXKM>;Zx2`RbrzE(p^PufRC04L!YTLv| z6S%!NF_kYD;*eEh3QfM(G>jM3&_La5F;a{yX_l)*afnmd9dW+c!x^hR-JWBk+t`qs zyY8?;TBGloC$Zd4_av0!n=v|cb;mw-#eS#P3(>(nXn#1xE6f)yKIm3*bY531NLw+A zeAV7Yl2nE)4}RADWfl&cAN+n`l!0|IO=;<9gM|dXH%Pdlw;g8BP}|5xRYIH1hc*S2 z7ZQ_JcN)~&(?$dX61X;yeM19EhOG;mS#-mdX4CPvPw3w_T-PpNrnk7DHGwwOlM1C< z33IX*G=KG0HwTwG!(1M`CmFtnrJKy(=-3~U4Y~jc)>5g2TH`luIVV6?LCmHXfQ%#= z_vB!7ugxW|CbaNl9(~weI~uiZxq_}xR{t8f-}9{v3zH+SE)Pumg@W}RiA5dbq}y@j zoMBLr)g1T9_xKAbcNL<{v$Q13#3Y*ylN2g)Iy@a8-|?un1C*ge%kkGtgOh(cbW?_( pTC2de32eWw5XQUgFS9JR<&^ij2!cieH8|t}-~y&6=6~h?zc?!#lhptK diff --git a/package_README.html b/package_README.html index 2a28c164..29b9bd7b 100644 --- a/package_README.html +++ b/package_README.html @@ -163,8 +163,8 @@ version 2.

Development Status

-

We started to implement h2-11 -(http://tools.ietf.org/html/draft-ietf-httpbis-http2-11) and the +

We started to implement h2-12 +(http://tools.ietf.org/html/draft-ietf-httpbis-http2-12) and the header compression (http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-07).

The nghttp2 code base was forked from spdylay project.

@@ -175,17 +175,17 @@ header compression Features -h2-11 +h2-12 -HPACK-draft-07 +Dependency based priority Done -Dependency based priority +BLOCKED frame Done -ALTSVC frame +COMPRESSED DATA Done @@ -311,12 +311,12 @@ with prior knowledge, HTTP Upgrade and NPN/ALPN TLS extension.

output from nghttp client:

$ src/nghttp -nv https://localhost:8443
 [  0.004][NPN] server offers:
-          * h2-11
+          * h2-12
           * spdy/3.1
           * spdy/3
           * spdy/2
           * http/1.1
-The negotiated protocol: h2-11
+The negotiated protocol: h2-12
 [  0.006] send SETTINGS frame <length=10, flags=0x00, stream_id=0>
           (niv=2)
           [SETTINGS_MAX_CONCURRENT_STREAMS(3):100]
@@ -481,7 +481,7 @@ IPv6: listen on port 8080
 

nghttpx - proxy

nghttpx is a multi-threaded reverse proxy for -h2-11, SPDY and HTTP/1.1. It has several operation modes:

+h2-12, SPDY and HTTP/1.1. It has several operation modes:

@@ -525,7 +525,7 @@ IPv6: listen on port 8080

The interesting mode at the moment is the default mode. It works like -a reverse proxy and listens for h2-11, SPDY and HTTP/1.1 and can +a reverse proxy and listens for h2-12, SPDY and HTTP/1.1 and can be deployed SSL/TLS terminator for existing web server.

The default mode, --http2-proxy and --http2-bridge modes use SSL/TLS in the frontend connection by default. To disable SSL/TLS, diff --git a/searchindex.js b/searchindex.js index 76d9741c..c174bd0b 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_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],nghttp2_priority_typ:[3,6],bufferevent_getfd:5,spec:[3,6],merchant:[2,6,5,1],digit:5,"void":[2,6,5,3],bufferevent_ssl:[2,5],initialize_nghttp2_setup:[2,5],verif:5,servic:[2,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],lev_opt_close_on_fre:2,nghttp2_flag_ack:[3,6],root:[2,4],syn_repli:[3,6],defer:[2,6,5,3],give:[3,6,4],indic:[2,6,5,3],want:[2,6,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],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],perform:[2,6,4,7,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: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,4,7,2],end_stream:[3,6,4],situat:[2,5],free:[2,6,5,1,3],small:[3,6],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],similarli:[3,6],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],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],nghttp2_gzip_inflate_del:[3,6],bufferevent_ssl_accept:2,serve_forev:4,"0x40":[3,6],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_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,receiv:[2,6,4,5,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,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],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],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,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],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],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],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],gener:[3,6,4],onli:[2,3,4,5,6,7],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],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],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:4,entiti:2,group:[3,6],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],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,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],were:[2,5],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],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,4],nghttp2_hcat_request:[2,6,5,3],pathlen:5,sublicens:[2,6,5,1],pair:[2,6,4,5,3],http2_select:[3,6],later:[2,6,7,5,3],gracefulli:5,show:5,unprocess:[2,5],concurr:[2,6,4,3],permiss:[2,6,5,1],threshold:2,pad_high:[3,6],end_seg:[3,6],written:[2,6,4,5,3],"4e5535a027780":4,priority_group:[3,6],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,reserv:[3,6],op_no_sslv2:4,nghttp2_priority_group:[3,6],detect:[3,6,4],weighttp:4,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],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],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],nghttp2_flag_priority_depend:[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],arriv:4,test:[0,7],traffic:4,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,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],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:[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,4,5],nghttp2_priority_type_group:[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,delet:5,version:3,method:[2,6,4,5,3],libjansson:4,padlen:[3,6,4],percentage_of_original_s:4,excess:2,modifi:[2,6,4,5,1],valu:[2,6,4,5,3],search:2,ai_addrconfig:2,nghttp2_err_push_dis:[3,6],on_clos:4,prior:4,amount:[2,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],dep:[3,6],dev:[4,1],remain:[2,6,5,3],def:4,share:[3,6,4],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],progoram:5,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],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,advanc:[3,6],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,5],major:[3,1],notifi:2,prevent:[3,6],number:[2,6,1,3],done:[2,4,7,5],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],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: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],nghttp2_priority_dep:[3,6],charg:[2,6,5,1],addr:2,"01881f3468e5891afcbf83868a3d856659c62e3f":4,compar:[3,6,5],frame_size_error:[3,6],cover:7,h2c:[6,4],pri_spec:[3,6],microsec:4,nghttp2_submit_push_promis:[3,6],copyright:[2,6,5,1],refused_stream:[3,6],pri_typ:[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,closur:[3,6,5],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],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,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:[3,6,4,7],pem:7,larg:[3,6],make_nv2:5,machin:[4,7],run:[2,3,4,5,6,7],step:[3,6],from:[0,6,7,1,3],handshake_readcb:2,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,"long":[3,6,4],nghttp2:3,forward:[3,6,4,7],session_ptr:[3,6],repeatedli:[3,6],nghttp2_priority_type_dep:[3,6],link:[2,4,7],translat:7,ni_maxhost:2,nghttp2_session_set_stream_user_data:[2,6,3],line:[4,7],mitig:4,concaten:[3,6],utf:4,caller:[2,6,3],nghttpx:0,clear:[3,6],parser:5,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],nghttp2_gzip_inflate_new:[3,6],algorithm:[3,6],svc:4,nghttp2_submit_request:[3,6,5],namelen:[2,6,5,3],far:[2,5],priority_depend:[3,6],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,"0x1":[3,6],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],bodi:[2,6,4,5,3],nghttp2_rst_stream:[3,6],ubuntu:4,becom:[2,6,1,3],sinc:[2,3,4,5,6,7],pri_group_id:[3,6],larger:[3,6],ctx:4,settings_payloadlen:[3,6],autoreconf:4,jansson:4,greac:[2,5],typic:4,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],account:[3,6,4,5],retriev:[2,6,5,3],tunnel:4,nghttp2_settings_id:[3,6],data_falg:[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],fprintf:[2,5],onlin:[3,4],serial:[2,6,5,3],evdns_base_fre:5,nghttp2_session_want_read:[2,6,5,3],ssl_ctx_use_privatekey_fil:2,evbas:[2,5],instead:[3,6],nullifi:[3,6],npn:[2,3,4,5,6,7],nghttp2_flag_priority_group:[3,6],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],max_outlen:[3,6],therefor:[3,6,5],nghttp2_session_send:[2,6,5,3],inlen:[3,6,5],recept:[2,6,5,3],crash:3,greater:[3,6],handl:[2,6,4,5,3],nghttp2_goawai:[3,6],handi:5,ssl_op_no_sslv2:[2,5],nghttp2_session_mem_send:[3,6],anyth:5,uf_port:5,mode: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:[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:3,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,prioriti:[3,6,4,5],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],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],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],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,nghttp2_priority_type_non:[3,6],nghttp2_priority_spec_group_init:[3,6],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],stuff:[3,6],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,4,5],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],disconnect:[2,5],addit:[0,6,3],revers:[4,7],nghttp2_proto_version_id:[2,6,5,3],equal:2,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,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,both:[2,3,4,5,6,7],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],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],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:4,protocol_id:[3,6],nghttp2_flag_end_head:[3,6],necessari:[2,6,3],tlen:[3,6],page:[2,5],file_read_callback:2,nghttp2_priority_spec_dep_init:[3,6],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],nghttp2_gzip:[3,6],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],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],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],nghttp2_no_error:[3,6,5]},objtypes:{"0":"c:member","1":"c:macro","2":"c:function","3":"c:type"},objnames:{"0":["c","member","C member"],"1":["c","macro","C macro"],"2":["c","function","C function"],"3":["c","type","C type"]},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_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_FLAG_PRIORITY_DEPENDENCY:[3,1,1,"c.NGHTTP2_FLAG_PRIORITY_DEPENDENCY"],nghttp2_settings_entry:[3,3,1,"c.nghttp2_settings_entry"],NGHTTP2_INTERNAL_ERROR:[3,1,1,"c.NGHTTP2_INTERNAL_ERROR"],nghttp2_frame_hd:[3,3,1,"c.nghttp2_frame_hd"],nghttp2_on_frame_recv_callback:[3,3,1,"c.nghttp2_on_frame_recv_callback"],NGHTTP2_CLIENT_CONNECTION_HEADER_LEN:[3,1,1,"c.NGHTTP2_CLIENT_CONNECTION_HEADER_LEN"],nghttp2_goaway:[3,3,1,"c.nghttp2_goaway"],nghttp2_ping:[3,3,1,"c.nghttp2_ping"],NGHTTP2_ERR_INVALID_FRAME:[3,1,1,"c.NGHTTP2_ERR_INVALID_FRAME"],nghttp2_priority_spec:[3,3,1,"c.nghttp2_priority_spec"],nghttp2_frame_type:[3,3,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,2,1,"c.nghttp2_select_next_protocol"],nghttp2_data_flag:[3,3,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,2,1,"c.nghttp2_option_set_no_auto_stream_window_update"],nghttp2_session_callbacks:[3,3,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,2,1,"c.nghttp2_submit_window_update"],NGHTTP2_ERR_UNSUPPORTED_VERSION:[3,1,1,"c.NGHTTP2_ERR_UNSUPPORTED_VERSION"],nghttp2_option:[3,3,1,"c.nghttp2_option"],NGHTTP2_SETTINGS_ENABLE_PUSH:[3,1,1,"c.NGHTTP2_SETTINGS_ENABLE_PUSH"],nghttp2_window_update:[3,3,1,"c.nghttp2_window_update"],nghttp2_session_client_new2:[3,2,1,"c.nghttp2_session_client_new2"],NGHTTP2_DATA:[3,1,1,"c.NGHTTP2_DATA"],nghttp2_nv_flag:[3,3,1,"c.nghttp2_nv_flag"],nghttp2_on_header_callback:[3,3,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,3,1,"c.nghttp2_headers_category"],nghttp2_session_mem_send:[3,2,1,"c.nghttp2_session_mem_send"],nghttp2_error_code:[3,3,1,"c.nghttp2_error_code"],nghttp2_send_callback:[3,3,1,"c.nghttp2_send_callback"],nghttp2_on_data_chunk_recv_callback:[3,3,1,"c.nghttp2_on_data_chunk_recv_callback"],NGHTTP2_FLAG_PRIORITY_GROUP:[3,1,1,"c.NGHTTP2_FLAG_PRIORITY_GROUP"],NGHTTP2_ERR_START_STREAM_NOT_ALLOWED:[3,1,1,"c.NGHTTP2_ERR_START_STREAM_NOT_ALLOWED"],NGHTTP2_ERR_FLOW_CONTROL:[3,1,1,"c.NGHTTP2_ERR_FLOW_CONTROL"],nghttp2_strerror:[3,2,1,"c.nghttp2_strerror"],nghttp2_priority_type:[3,3,1,"c.nghttp2_priority_type"],nghttp2_gzip_inflate_del:[3,2,1,"c.nghttp2_gzip_inflate_del"],NGHTTP2_ERR_FATAL:[3,1,1,"c.NGHTTP2_ERR_FATAL"],nghttp2_submit_goaway:[3,2,1,"c.nghttp2_submit_goaway"],nghttp2_error:[3,3,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,3,1,"c.nghttp2_select_padding_callback"],nghttp2_session_get_effective_recv_data_length:[3,2,1,"c.nghttp2_session_get_effective_recv_data_length"],NGHTTP2_PRIORITY_TYPE_GROUP:[3,1,1,"c.NGHTTP2_PRIORITY_TYPE_GROUP"],nghttp2_session_server_new2:[3,2,1,"c.nghttp2_session_server_new2"],NGHTTP2_ERR_DEFERRED:[3,1,1,"c.NGHTTP2_ERR_DEFERRED"],nghttp2_push_promise:[3,3,1,"c.nghttp2_push_promise"],nghttp2_priority_group:[3,3,1,"c.nghttp2_priority_group"],nghttp2_session_get_outbound_queue_size:[3,2,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,3,1,"c.nghttp2_data_source_read_callback"],nghttp2_session_terminate_session:[3,2,1,"c.nghttp2_session_terminate_session"],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,2,1,"c.nghttp2_submit_push_promise"],nghttp2_session_resume_data:[3,2,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,2,1,"c.nghttp2_session_server_new"],NGHTTP2_WINDOW_UPDATE:[3,1,1,"c.NGHTTP2_WINDOW_UPDATE"],NGHTTP2_CONTINUATION:[3,1,1,"c.NGHTTP2_CONTINUATION"],nghttp2_rst_stream:[3,3,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_on_begin_headers_callback:[3,3,1,"c.nghttp2_on_begin_headers_callback"],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,3,1,"c.nghttp2_flag"],NGHTTP2_DEFAULT_WEIGHT:[3,1,1,"c.NGHTTP2_DEFAULT_WEIGHT"],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,3,1,"c.nghttp2_gzip"],NGHTTP2_RST_STREAM:[3,1,1,"c.NGHTTP2_RST_STREAM"],nghttp2_option_set_peer_max_concurrent_streams:[3,2,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,3,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,3,1,"c.nghttp2_on_frame_send_callback"],nghttp2_session_mem_recv:[3,2,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,3,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,2,1,"c.nghttp2_submit_rst_stream"],nghttp2_submit_headers:[3,2,1,"c.nghttp2_submit_headers"],nghttp2_recv_callback:[3,3,1,"c.nghttp2_recv_callback"],nghttp2_priority_spec_dep_init:[3,2,1,"c.nghttp2_priority_spec_dep_init"],nghttp2_session_get_stream_user_data:[3,2,1,"c.nghttp2_session_get_stream_user_data"],NGHTTP2_PRIORITY_TYPE_DEP:[3,1,1,"c.NGHTTP2_PRIORITY_TYPE_DEP"],nghttp2_nv:[3,3,1,"c.nghttp2_nv"],nghttp2_altsvc:[3,3,1,"c.nghttp2_altsvc"],nghttp2_on_invalid_frame_recv_callback:[3,3,1,"c.nghttp2_on_invalid_frame_recv_callback"],nghttp2_version:[3,2,1,"c.nghttp2_version"],nghttp2_session_want_write:[3,2,1,"c.nghttp2_session_want_write"],nghttp2_on_unknown_frame_recv_callback:[3,3,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,2,1,"c.nghttp2_session_set_stream_user_data"],nghttp2_check_header_value:[3,2,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,2,1,"c.nghttp2_session_client_new"],nghttp2_check_header_name:[3,2,1,"c.nghttp2_check_header_name"],nghttp2_info:[3,3,1,"c.nghttp2_info"],NGHTTP2_PROTO_VERSION_ID:[3,1,1,"c.NGHTTP2_PROTO_VERSION_ID"],nghttp2_settings_id:[3,3,1,"c.nghttp2_settings_id"],NGHTTP2_DATA_FLAG_EOF:[3,1,1,"c.NGHTTP2_DATA_FLAG_EOF"],NGHTTP2_PRIORITY_TYPE_NONE:[3,1,1,"c.NGHTTP2_PRIORITY_TYPE_NONE"],nghttp2_session_send:[3,2,1,"c.nghttp2_session_send"],NGHTTP2_PROTOCOL_ERROR:[3,1,1,"c.NGHTTP2_PROTOCOL_ERROR"],nghttp2_gzip_inflate:[3,2,1,"c.nghttp2_gzip_inflate"],nghttp2_session_upgrade:[3,2,1,"c.nghttp2_session_upgrade"],nghttp2_session_del:[3,2,1,"c.nghttp2_session_del"],NGHTTP2_ERR_INSUFF_BUFSIZE:[3,1,1,"c.NGHTTP2_ERR_INSUFF_BUFSIZE"],nghttp2_settings:[3,3,1,"c.nghttp2_settings"],nghttp2_on_frame_not_send_callback:[3,3,1,"c.nghttp2_on_frame_not_send_callback"],nghttp2_option_set_no_auto_connection_window_update:[3,2,1,"c.nghttp2_option_set_no_auto_connection_window_update"],nghttp2_submit_data:[3,2,1,"c.nghttp2_submit_data"],nghttp2_session_get_stream_remote_window_size:[3,2,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_priority_spec_group_init:[3,2,1,"c.nghttp2_priority_spec_group_init"],nghttp2_option_del:[3,2,1,"c.nghttp2_option_del"],nghttp2_submit_altsvc:[3,2,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,2,1,"c.nghttp2_submit_settings"],nghttp2_is_fatal:[3,2,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,3,1,"c.nghttp2_priority"],nghttp2_session_want_read:[3,2,1,"c.nghttp2_session_want_read"],NGHTTP2_VERSION_AGE:[3,1,1,"c.NGHTTP2_VERSION_AGE"],NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE:[3,1,1,"c.NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE"],NGHTTP2_CONNECT_ERROR:[3,1,1,"c.NGHTTP2_CONNECT_ERROR"],NGHTTP2_FLAG_END_STREAM:[3,1,1,"c.NGHTTP2_FLAG_END_STREAM"],nghttp2_on_stream_close_callback:[3,3,1,"c.nghttp2_on_stream_close_callback"],NGHTTP2_PUSH_PROMISE:[3,1,1,"c.NGHTTP2_PUSH_PROMISE"],nghttp2_data_provider:[3,3,1,"c.nghttp2_data_provider"],NGHTTP2_ERR_DATA_EXIST:[3,1,1,"c.NGHTTP2_ERR_DATA_EXIST"],nghttp2_session_recv:[3,2,1,"c.nghttp2_session_recv"],nghttp2_option_new:[3,2,1,"c.nghttp2_option_new"],nghttp2_session_get_effective_local_window_size:[3,2,1,"c.nghttp2_session_get_effective_local_window_size"],NGHTTP2_INITIAL_WINDOW_SIZE:[3,1,1,"c.NGHTTP2_INITIAL_WINDOW_SIZE"],NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE:[3,1,1,"c.NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE"],NGHTTP2_HCAT_RESPONSE:[3,1,1,"c.NGHTTP2_HCAT_RESPONSE"],nghttp2_submit_priority:[3,2,1,"c.nghttp2_submit_priority"],nghttp2_session_get_stream_effective_local_window_size:[3,2,1,"c.nghttp2_session_get_stream_effective_local_window_size"],nghttp2_priority_dep:[3,3,1,"c.nghttp2_priority_dep"],nghttp2_headers:[3,3,1,"c.nghttp2_headers"],nghttp2_before_frame_send_callback:[3,3,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,2,1,"c.nghttp2_submit_ping"],NGHTTP2_FRAME_SIZE_ERROR:[3,1,1,"c.NGHTTP2_FRAME_SIZE_ERROR"],nghttp2_data_source:[3,3,1,"c.nghttp2_data_source"],NGHTTP2_ERR_STREAM_SHUT_WR:[3,1,1,"c.NGHTTP2_ERR_STREAM_SHUT_WR"],nghttp2_submit_response:[3,2,1,"c.nghttp2_submit_response"],NGHTTP2_PRIORITY:[3,1,1,"c.NGHTTP2_PRIORITY"],nghttp2_submit_request:[3,2,1,"c.nghttp2_submit_request"],nghttp2_session_get_stream_effective_recv_data_length:[3,2,1,"c.nghttp2_session_get_stream_effective_recv_data_length"],nghttp2_pack_settings_payload:[3,2,1,"c.nghttp2_pack_settings_payload"],nghttp2_data:[3,3,1,"c.nghttp2_data"],nghttp2_gzip_inflate_new:[3,2,1,"c.nghttp2_gzip_inflate_new"],nghttp2_nv_compare_name:[3,2,1,"c.nghttp2_nv_compare_name"]},nghttp2_frame:{push_promise:[3,0,1,"c.nghttp2_frame.push_promise"],settings:[3,0,1,"c.nghttp2_frame.settings"],ping:[3,0,1,"c.nghttp2_frame.ping"],rst_stream:[3,0,1,"c.nghttp2_frame.rst_stream"],priority:[3,0,1,"c.nghttp2_frame.priority"],headers:[3,0,1,"c.nghttp2_frame.headers"],goaway:[3,0,1,"c.nghttp2_frame.goaway"],window_update:[3,0,1,"c.nghttp2_frame.window_update"],data:[3,0,1,"c.nghttp2_frame.data"],hd:[3,0,1,"c.nghttp2_frame.hd"],altsvc:[3,0,1,"c.nghttp2_frame.altsvc"]},nghttp2_settings_entry:{settings_id:[3,0,1,"c.nghttp2_settings_entry.settings_id"],value:[3,0,1,"c.nghttp2_settings_entry.value"]},nghttp2_window_update:{hd:[3,0,1,"c.nghttp2_window_update.hd"],window_size_increment:[3,0,1,"c.nghttp2_window_update.window_size_increment"]},nghttp2_frame_hd:{stream_id:[3,0,1,"c.nghttp2_frame_hd.stream_id"],length:[3,0,1,"c.nghttp2_frame_hd.length"],flags:[3,0,1,"c.nghttp2_frame_hd.flags"],type:[3,0,1,"c.nghttp2_frame_hd.type"]},nghttp2_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_priority_group:{pri_group_id:[3,0,1,"c.nghttp2_priority_group.pri_group_id"],weight:[3,0,1,"c.nghttp2_priority_group.weight"]},nghttp2_ping:{hd:[3,0,1,"c.nghttp2_ping.hd"]},nghttp2_priority:{pri_spec:[3,0,1,"c.nghttp2_priority.pri_spec"],hd:[3,0,1,"c.nghttp2_priority.hd"]},nghttp2_priority_spec:{dep:[3,0,1,"c.nghttp2_priority_spec.dep"],pri_type:[3,0,1,"c.nghttp2_priority_spec.pri_type"],group:[3,0,1,"c.nghttp2_priority_spec.group"]},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_session_callbacks:{on_invalid_frame_recv_callback:[3,0,1,"c.nghttp2_session_callbacks.on_invalid_frame_recv_callback"],before_frame_send_callback:[3,0,1,"c.nghttp2_session_callbacks.before_frame_send_callback"],on_stream_close_callback:[3,0,1,"c.nghttp2_session_callbacks.on_stream_close_callback"],on_data_chunk_recv_callback:[3,0,1,"c.nghttp2_session_callbacks.on_data_chunk_recv_callback"],on_begin_headers_callback:[3,0,1,"c.nghttp2_session_callbacks.on_begin_headers_callback"],send_callback:[3,0,1,"c.nghttp2_session_callbacks.send_callback"],on_unknown_frame_recv_callback:[3,0,1,"c.nghttp2_session_callbacks.on_unknown_frame_recv_callback"],on_header_callback:[3,0,1,"c.nghttp2_session_callbacks.on_header_callback"],on_frame_recv_callback:[3,0,1,"c.nghttp2_session_callbacks.on_frame_recv_callback"],select_padding_callback:[3,0,1,"c.nghttp2_session_callbacks.select_padding_callback"],on_frame_not_send_callback:[3,0,1,"c.nghttp2_session_callbacks.on_frame_not_send_callback"],on_frame_send_callback:[3,0,1,"c.nghttp2_session_callbacks.on_frame_send_callback"],recv_callback:[3,0,1,"c.nghttp2_session_callbacks.recv_callback"]},nghttp2_data_provider:{source:[3,0,1,"c.nghttp2_data_provider.source"],read_callback:[3,0,1,"c.nghttp2_data_provider.read_callback"]},nghttp2_rst_stream:{error_code:[3,0,1,"c.nghttp2_rst_stream.error_code"],hd:[3,0,1,"c.nghttp2_rst_stream.hd"]},nghttp2_priority_dep:{exclusive:[3,0,1,"c.nghttp2_priority_dep.exclusive"],stream_id:[3,0,1,"c.nghttp2_priority_dep.stream_id"]},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_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_data:{padlen:[3,0,1,"c.nghttp2_data.padlen"]},nghttp2_data_source:{fd:[3,0,1,"c.nghttp2_data_source.fd"],ptr:[3,0,1,"c.nghttp2_data_source.ptr"]},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 +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: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],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,don:[2,6,4,3],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,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,verbos:4,overhead:4,fork:4,head:[2,6,3],form:[3,6,4],offer:4,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],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],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],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],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],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],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: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],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,earlier:[2,5],event_base_new:[2,5],ssl_filetype_pem:2,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],avail:[2,3,4,5,6,7],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],were:[2,5],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],threshold:2,onli:[2,3,4,5,6,7],end_seg:[3,6],written:[2,6,4,5,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,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:[],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],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],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,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],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: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,4,5],small:[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],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,share:[3,6,4],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],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,5],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,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,bodi:[2,6,4,5,3],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: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,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,"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,nghttp2_session_set_stream_user_data:[2,6,3],line:[4,7],mitig:4,concaten:[3,6],utf:4,caller:[2,6,3],nghttpx:[],clear:[3,6],parser:5,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,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,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,5],onlin:[3,4],serial:[2,6,5,3],evdns_base_fre:5,nghttp2_session_want_read:[2,6,5,3],ssl_ctx_use_privatekey_fil:2,evbas:[2,5],instead:[3,6],nullifi:[3,6],npn:[2,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:[],bump:[3,6],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_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],unknown:[2,6,3],system:[2,7,5],messag:[3,6,5],attach:[2,5],attack:4,termin:[2,6,4,5,3],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],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,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],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,4,5],correctli:[3,6],pointer:[2,6,3],state:[2,6,4,3],https_uri:5,progress:4,nghttp2_initial_connection_window_s:[3,6],kei:[2,6,4,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,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,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,both:[2,3,4,5,6,7],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],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],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_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_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_window_update:[3,2,1,"c.nghttp2_window_update"],nghttp2_session_client_new2:[3,3,1,"c.nghttp2_session_client_new2"],NGHTTP2_DATA:[3,1,1,"c.NGHTTP2_DATA"],NGHTTP2_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_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_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_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_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_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_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_CONNECT_ERROR:[3,1,1,"c.NGHTTP2_CONNECT_ERROR"],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"],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