Update doc
This commit is contained in:
parent
597e7a5500
commit
b7e21b0cd2
242
apiref.html
242
apiref.html
|
@ -228,19 +228,19 @@ TCP.</p>
|
|||
<dl class="macro">
|
||||
<dt id="c.NGHTTP2_DEFAULT_WEIGHT">
|
||||
<tt class="descname">NGHTTP2_DEFAULT_WEIGHT</tt><a class="headerlink" href="#c.NGHTTP2_DEFAULT_WEIGHT" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>The default weight of priority group.</p>
|
||||
<dd><p>The default weight of stream dependency.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="macro">
|
||||
<dt id="c.NGHTTP2_MAX_WEIGHT">
|
||||
<tt class="descname">NGHTTP2_MAX_WEIGHT</tt><a class="headerlink" href="#c.NGHTTP2_MAX_WEIGHT" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>The maximum weight of priority group.</p>
|
||||
<dd><p>The maximum weight of stream dependency.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="macro">
|
||||
<dt id="c.NGHTTP2_MIN_WEIGHT">
|
||||
<tt class="descname">NGHTTP2_MIN_WEIGHT</tt><a class="headerlink" href="#c.NGHTTP2_MIN_WEIGHT" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>The minimum weight of priority group.</p>
|
||||
<dd><p>The minimum weight of stream dependency.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="macro">
|
||||
|
@ -648,6 +648,13 @@ The CONTINUATION frame.</p>
|
|||
The ALTSVC frame.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="macro">
|
||||
<dt id="c.NGHTTP2_BLOCKED">
|
||||
<tt class="descname">NGHTTP2_BLOCKED</tt><a class="headerlink" href="#c.NGHTTP2_BLOCKED" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>(<tt class="docutils literal"><span class="pre">0x0b</span></tt>)
|
||||
The BLOCKED frame.</p>
|
||||
</dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
<dl class="type">
|
||||
|
@ -705,17 +712,17 @@ The PAD_HIGH flag.</p>
|
|||
</dd></dl>
|
||||
|
||||
<dl class="macro">
|
||||
<dt id="c.NGHTTP2_FLAG_PRIORITY_GROUP">
|
||||
<tt class="descname">NGHTTP2_FLAG_PRIORITY_GROUP</tt><a class="headerlink" href="#c.NGHTTP2_FLAG_PRIORITY_GROUP" title="Permalink to this definition">¶</a></dt>
|
||||
<dt id="c.NGHTTP2_FLAG_PRIORITY">
|
||||
<tt class="descname">NGHTTP2_FLAG_PRIORITY</tt><a class="headerlink" href="#c.NGHTTP2_FLAG_PRIORITY" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>(<tt class="docutils literal"><span class="pre">0x20</span></tt>)
|
||||
The PRIORITY_GROUP flag.</p>
|
||||
The PRIORITY flag.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="macro">
|
||||
<dt id="c.NGHTTP2_FLAG_PRIORITY_DEPENDENCY">
|
||||
<tt class="descname">NGHTTP2_FLAG_PRIORITY_DEPENDENCY</tt><a class="headerlink" href="#c.NGHTTP2_FLAG_PRIORITY_DEPENDENCY" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>(<tt class="docutils literal"><span class="pre">0x40</span></tt>)
|
||||
The PRIORITY_DEPENDENCY flag.</p>
|
||||
<dt id="c.NGHTTP2_FLAG_COMPRESSED">
|
||||
<tt class="descname">NGHTTP2_FLAG_COMPRESSED</tt><a class="headerlink" href="#c.NGHTTP2_FLAG_COMPRESSED" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>(<tt class="docutils literal"><span class="pre">0x20</span></tt>)
|
||||
THE COMPRESSED flag.</p>
|
||||
</dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
@ -752,10 +759,17 @@ SETTINGS_MAX_CONCURRENT_STREAMS</p>
|
|||
SETTINGS_INITIAL_WINDOW_SIZE</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="macro">
|
||||
<dt id="c.NGHTTP2_SETTINGS_COMPRESS_DATA">
|
||||
<tt class="descname">NGHTTP2_SETTINGS_COMPRESS_DATA</tt><a class="headerlink" href="#c.NGHTTP2_SETTINGS_COMPRESS_DATA" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>(<tt class="docutils literal"><span class="pre">5</span></tt>)
|
||||
SETTINGS_COMPRESS_DATA</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="macro">
|
||||
<dt id="c.NGHTTP2_SETTINGS_MAX">
|
||||
<tt class="descname">NGHTTP2_SETTINGS_MAX</tt><a class="headerlink" href="#c.NGHTTP2_SETTINGS_MAX" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>(<tt class="docutils literal"><span class="pre">4</span></tt>)
|
||||
<dd><p>(<tt class="docutils literal"><span class="pre">5</span></tt>)
|
||||
Maximum ID of <a class="reference internal" href="#c.nghttp2_settings_id" title="nghttp2_settings_id"><tt class="xref c c-type docutils literal"><span class="pre">nghttp2_settings_id</span></tt></a>.</p>
|
||||
</dd></dl>
|
||||
|
||||
|
@ -877,6 +891,13 @@ No flag set.</p>
|
|||
Indicates EOF was sensed.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="macro">
|
||||
<dt id="c.NGHTTP2_DATA_FLAG_COMPRESSED">
|
||||
<tt class="descname">NGHTTP2_DATA_FLAG_COMPRESSED</tt><a class="headerlink" href="#c.NGHTTP2_DATA_FLAG_COMPRESSED" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>(<tt class="docutils literal"><span class="pre">0x02</span></tt>)
|
||||
Indicates data was compressed by application.</p>
|
||||
</dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
<dl class="type">
|
||||
|
@ -921,34 +942,6 @@ which is analogous to HEADERS in SPDY.</p>
|
|||
|
||||
</dd></dl>
|
||||
|
||||
<dl class="type">
|
||||
<dt id="c.nghttp2_priority_type">
|
||||
<tt class="descname">nghttp2_priority_type</tt><a class="headerlink" href="#c.nghttp2_priority_type" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>The type of priority specified in <a class="reference internal" href="#c.nghttp2_priority_spec" title="nghttp2_priority_spec"><tt class="xref c c-type docutils literal"><span class="pre">nghttp2_priority_spec</span></tt></a>.</p>
|
||||
<dl class="macro">
|
||||
<dt id="c.NGHTTP2_PRIORITY_TYPE_NONE">
|
||||
<tt class="descname">NGHTTP2_PRIORITY_TYPE_NONE</tt><a class="headerlink" href="#c.NGHTTP2_PRIORITY_TYPE_NONE" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>(<tt class="docutils literal"><span class="pre">0</span></tt>)
|
||||
No priority is given. The default priority will be used.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="macro">
|
||||
<dt id="c.NGHTTP2_PRIORITY_TYPE_GROUP">
|
||||
<tt class="descname">NGHTTP2_PRIORITY_TYPE_GROUP</tt><a class="headerlink" href="#c.NGHTTP2_PRIORITY_TYPE_GROUP" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>(<tt class="docutils literal"><span class="pre">1</span></tt>)
|
||||
Priority group ID and its weight are specified.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="macro">
|
||||
<dt id="c.NGHTTP2_PRIORITY_TYPE_DEP">
|
||||
<tt class="descname">NGHTTP2_PRIORITY_TYPE_DEP</tt><a class="headerlink" href="#c.NGHTTP2_PRIORITY_TYPE_DEP" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>(<tt class="docutils literal"><span class="pre">2</span></tt>)
|
||||
The stream ID of a stream to depend on and its exclusive flag is
|
||||
specified.</p>
|
||||
</dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
<div class="section" id="types-structs-unions-and-typedefs">
|
||||
<h2>Types (structs, unions and typedefs)<a class="headerlink" href="#types-structs-unions-and-typedefs" title="Permalink to this headline">¶</a></h2>
|
||||
|
@ -1089,8 +1082,12 @@ the <em>source</em>. The read data is sent in the stream <em>stream_id</em>.
|
|||
The implementation of this function must read at most <em>length</em>
|
||||
bytes of data from <em>source</em> (or possibly other places) and store
|
||||
them in <em>buf</em> and return number of data stored in <em>buf</em>. If EOF is
|
||||
reached, set <a class="reference internal" href="#c.NGHTTP2_DATA_FLAG_EOF" title="NGHTTP2_DATA_FLAG_EOF"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_DATA_FLAG_EOF</span></tt></a> flag in <em>*data_falgs</em>.
|
||||
If the application wants to postpone DATA frames (e.g.,
|
||||
reached, set <a class="reference internal" href="#c.NGHTTP2_DATA_FLAG_EOF" title="NGHTTP2_DATA_FLAG_EOF"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_DATA_FLAG_EOF</span></tt></a> flag in <em>*data_flags</em>.</p>
|
||||
<p>To send compressed data payload without affecting content-length,
|
||||
set <a class="reference internal" href="#c.NGHTTP2_DATA_FLAG_COMPRESSED" title="NGHTTP2_DATA_FLAG_COMPRESSED"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_DATA_FLAG_COMPRESSED</span></tt></a> flag in <em>*data_flags</em>.
|
||||
Compression must be done by application prior to fill data in
|
||||
<em>buf</em>.</p>
|
||||
<p>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 <a class="reference internal" href="#c.NGHTTP2_ERR_DEFERRED" title="NGHTTP2_ERR_DEFERRED"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_ERR_DEFERRED</span></tt></a> without reading
|
||||
any data in this invocation. The library removes DATA frame from
|
||||
|
@ -1136,75 +1133,27 @@ and PAD_LOW.</p>
|
|||
|
||||
</dd></dl>
|
||||
|
||||
<dl class="type">
|
||||
<dt id="c.nghttp2_priority_group">
|
||||
<tt class="descname">nghttp2_priority_group</tt><a class="headerlink" href="#c.nghttp2_priority_group" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>This structure stores priority group ID and its weight.</p>
|
||||
<dl class="member">
|
||||
<dt id="c.nghttp2_priority_group.pri_group_id">
|
||||
int32_t <tt class="descname">pri_group_id</tt><a class="headerlink" href="#c.nghttp2_priority_group.pri_group_id" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>The priority group ID</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="member">
|
||||
<dt id="c.nghttp2_priority_group.weight">
|
||||
int32_t <tt class="descname">weight</tt><a class="headerlink" href="#c.nghttp2_priority_group.weight" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>The weight of the priority group</p>
|
||||
</dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
<dl class="type">
|
||||
<dt id="c.nghttp2_priority_dep">
|
||||
<tt class="descname">nghttp2_priority_dep</tt><a class="headerlink" href="#c.nghttp2_priority_dep" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>This structure stores stream ID of the stream to depend on and its
|
||||
dependency is exclusive or not.</p>
|
||||
<dl class="member">
|
||||
<dt id="c.nghttp2_priority_dep.stream_id">
|
||||
int32_t <tt class="descname">stream_id</tt><a class="headerlink" href="#c.nghttp2_priority_dep.stream_id" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>The stream ID of the stream to depend on.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="member">
|
||||
<dt id="c.nghttp2_priority_dep.exclusive">
|
||||
uint8_t <tt class="descname">exclusive</tt><a class="headerlink" href="#c.nghttp2_priority_dep.exclusive" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>nonzero means exclusive dependency</p>
|
||||
</dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
<dl class="type">
|
||||
<dt id="c.nghttp2_priority_spec">
|
||||
<tt class="descname">nghttp2_priority_spec</tt><a class="headerlink" href="#c.nghttp2_priority_spec" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>The structure to specify stream dependency. To specify stream
|
||||
dependency, specify <em>pri_type</em> and fill the <em>group</em> or <em>dep</em> member
|
||||
according to <em>pri_type</em>.</p>
|
||||
<dd><p>The structure to specify stream dependency.</p>
|
||||
<dl class="member">
|
||||
<dt id="c.nghttp2_priority_spec.pri_type">
|
||||
<a class="reference internal" href="#c.nghttp2_priority_type" title="nghttp2_priority_type">nghttp2_priority_type</a> <tt class="descname">pri_type</tt><a class="headerlink" href="#c.nghttp2_priority_spec.pri_type" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Type of priority specification. If <em>pri_type</em> is
|
||||
<a class="reference internal" href="#c.NGHTTP2_PRIORITY_TYPE_GROUP" title="NGHTTP2_PRIORITY_TYPE_GROUP"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_PRIORITY_TYPE_GROUP</span></tt></a>, fill <em>group</em>. If <em>pri_type</em>
|
||||
is <a class="reference internal" href="#c.NGHTTP2_PRIORITY_TYPE_DEP" title="NGHTTP2_PRIORITY_TYPE_DEP"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_PRIORITY_TYPE_DEP</span></tt></a>, fill <em>dep</em>. If <em>pri_type</em>
|
||||
is <a class="reference internal" href="#c.NGHTTP2_PRIORITY_TYPE_NONE" title="NGHTTP2_PRIORITY_TYPE_NONE"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_PRIORITY_TYPE_NONE</span></tt></a>, the other data members are
|
||||
ignored and it means that default priority group ID (which is
|
||||
same as the stream ID) and default weight
|
||||
<a class="reference internal" href="#c.NGHTTP2_DEFAULT_WEIGHT" title="NGHTTP2_DEFAULT_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_DEFAULT_WEIGHT</span></tt></a> are specified.</p>
|
||||
<dt id="c.nghttp2_priority_spec.stream_id">
|
||||
int32_t <tt class="descname">stream_id</tt><a class="headerlink" href="#c.nghttp2_priority_spec.stream_id" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>The stream ID of the stream to depend on. Specifying 0 makes
|
||||
stream not depend any other stream.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="member">
|
||||
<dt id="c.nghttp2_priority_spec.group">
|
||||
<a class="reference internal" href="#c.nghttp2_priority_group" title="nghttp2_priority_group">nghttp2_priority_group</a> <tt class="descname">group</tt><a class="headerlink" href="#c.nghttp2_priority_spec.group" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Specify priority group ID and its weight. This field is
|
||||
interpreted only when <em>pri_type</em> member is
|
||||
<a class="reference internal" href="#c.NGHTTP2_PRIORITY_TYPE_GROUP" title="NGHTTP2_PRIORITY_TYPE_GROUP"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_PRIORITY_TYPE_GROUP</span></tt></a>.</p>
|
||||
<dt id="c.nghttp2_priority_spec.weight">
|
||||
int32_t <tt class="descname">weight</tt><a class="headerlink" href="#c.nghttp2_priority_spec.weight" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>The weight of this dependency.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="member">
|
||||
<dt id="c.nghttp2_priority_spec.dep">
|
||||
<a class="reference internal" href="#c.nghttp2_priority_dep" title="nghttp2_priority_dep">nghttp2_priority_dep</a> <tt class="descname">dep</tt><a class="headerlink" href="#c.nghttp2_priority_spec.dep" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Specify stream ID of a stream to depend on and exclusive flag.
|
||||
This field is interpreted only when <em>pri_type</em> member is
|
||||
<a class="reference internal" href="#c.NGHTTP2_PRIORITY_TYPE_DEP" title="NGHTTP2_PRIORITY_TYPE_DEP"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_PRIORITY_TYPE_DEP</span></tt></a>.</p>
|
||||
<dt id="c.nghttp2_priority_spec.exclusive">
|
||||
uint8_t <tt class="descname">exclusive</tt><a class="headerlink" href="#c.nghttp2_priority_spec.exclusive" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>nonzero means exclusive dependency</p>
|
||||
</dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
@ -1499,6 +1448,18 @@ uint16_t <tt class="descname">port</tt><a class="headerlink" href="#c.nghttp2_al
|
|||
|
||||
</dd></dl>
|
||||
|
||||
<dl class="type">
|
||||
<dt id="c.nghttp2_blocked">
|
||||
<tt class="descname">nghttp2_blocked</tt><a class="headerlink" href="#c.nghttp2_blocked" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>The BLOCKED frame. It has following members:</p>
|
||||
<dl class="member">
|
||||
<dt id="c.nghttp2_blocked.hd">
|
||||
<a class="reference internal" href="#c.nghttp2_frame_hd" title="nghttp2_frame_hd">nghttp2_frame_hd</a> <tt class="descname">hd</tt><a class="headerlink" href="#c.nghttp2_blocked.hd" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>The frame header.</p>
|
||||
</dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
<dl class="type">
|
||||
<dt id="c.nghttp2_frame">
|
||||
<tt class="descname">nghttp2_frame</tt><a class="headerlink" href="#c.nghttp2_frame" title="Permalink to this definition">¶</a></dt>
|
||||
|
@ -1571,6 +1532,12 @@ from here because the library deals with it internally.</p>
|
|||
<dd><p>The ALTSVC frame.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="member">
|
||||
<dt id="c.nghttp2_frame.blocked">
|
||||
<a class="reference internal" href="#c.nghttp2_blocked" title="nghttp2_blocked">nghttp2_blocked</a> <tt class="descname">blocked</tt><a class="headerlink" href="#c.nghttp2_frame.blocked" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>The BLOCKED frame.</p>
|
||||
</dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
<dl class="type">
|
||||
|
@ -2490,27 +2457,27 @@ const char* <tt class="descname">nghttp2_strerror</tt><big>(</big>int<em> l
|
|||
</dd></dl>
|
||||
|
||||
<dl class="function">
|
||||
<dt id="c.nghttp2_priority_spec_group_init">
|
||||
void <tt class="descname">nghttp2_priority_spec_group_init</tt><big>(</big><a class="reference internal" href="#c.nghttp2_priority_spec" title="nghttp2_priority_spec">nghttp2_priority_spec</a><em> *pri_spec</em>, int32_t<em> pri_group_id</em>, int32_t<em> weight</em><big>)</big><a class="headerlink" href="#c.nghttp2_priority_spec_group_init" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Initializes <em>pri_spec</em> with priority group ID <em>pri_group_id</em> and
|
||||
its weight <em>weight</em>.</p>
|
||||
<dt id="c.nghttp2_priority_spec_init">
|
||||
void <tt class="descname">nghttp2_priority_spec_init</tt><big>(</big><a class="reference internal" href="#c.nghttp2_priority_spec" title="nghttp2_priority_spec">nghttp2_priority_spec</a><em> *pri_spec</em>, int32_t<em> stream_id</em>, int32_t<em> weight</em>, int<em> exclusive</em><big>)</big><a class="headerlink" href="#c.nghttp2_priority_spec_init" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Initializes <em>pri_spec</em> with the <em>stream_id</em> of the stream to depend
|
||||
on with <em>weight</em> and its exclusive flag. If <em>exclusive</em> is
|
||||
nonzero, exclusive flag is set.</p>
|
||||
<p>The <em>weight</em> must be in [<a class="reference internal" href="#c.NGHTTP2_MIN_WEIGHT" title="NGHTTP2_MIN_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MIN_WEIGHT</span></tt></a>,
|
||||
<a class="reference internal" href="#c.NGHTTP2_MAX_WEIGHT" title="NGHTTP2_MAX_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MAX_WEIGHT</span></tt></a>], inclusive. If <em>weight</em> is strictly
|
||||
less than <a class="reference internal" href="#c.NGHTTP2_MIN_WEIGHT" title="NGHTTP2_MIN_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MIN_WEIGHT</span></tt></a>, it becomes
|
||||
<a class="reference internal" href="#c.NGHTTP2_MIN_WEIGHT" title="NGHTTP2_MIN_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MIN_WEIGHT</span></tt></a>. If it is strictly greater than
|
||||
<a class="reference internal" href="#c.NGHTTP2_MAX_WEIGHT" title="NGHTTP2_MAX_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MAX_WEIGHT</span></tt></a>, it becomes <a class="reference internal" href="#c.NGHTTP2_MAX_WEIGHT" title="NGHTTP2_MAX_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MAX_WEIGHT</span></tt></a>.</p>
|
||||
<p>To specify weight for the default priority group (which is the same
|
||||
as the stream ID of the stream) in <a class="reference internal" href="#c.nghttp2_submit_request" title="nghttp2_submit_request"><tt class="xref c c-func docutils literal"><span class="pre">nghttp2_submit_request()</span></tt></a> and
|
||||
<a class="reference internal" href="#c.nghttp2_submit_headers" title="nghttp2_submit_headers"><tt class="xref c c-func docutils literal"><span class="pre">nghttp2_submit_headers()</span></tt></a> and its stream ID is not known in
|
||||
advance, specify -1 to <em>pri_group_id</em>.</p>
|
||||
<a class="reference internal" href="#c.NGHTTP2_MAX_WEIGHT" title="NGHTTP2_MAX_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MAX_WEIGHT</span></tt></a>], inclusive.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="function">
|
||||
<dt id="c.nghttp2_priority_spec_dep_init">
|
||||
void <tt class="descname">nghttp2_priority_spec_dep_init</tt><big>(</big><a class="reference internal" href="#c.nghttp2_priority_spec" title="nghttp2_priority_spec">nghttp2_priority_spec</a><em> *pri_spec</em>, int32_t<em> stream_id</em>, int<em> exclusive</em><big>)</big><a class="headerlink" href="#c.nghttp2_priority_spec_dep_init" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Initializes <em>pri_spec</em> with the <em>stream_id</em> of the stream to depend
|
||||
on and its exclusive flag. If <em>exclusive</em> is nonzero, exclusive
|
||||
flag is set.</p>
|
||||
<dt id="c.nghttp2_priority_spec_default_init">
|
||||
void <tt class="descname">nghttp2_priority_spec_default_init</tt><big>(</big><a class="reference internal" href="#c.nghttp2_priority_spec" title="nghttp2_priority_spec">nghttp2_priority_spec</a><em> *pri_spec</em><big>)</big><a class="headerlink" href="#c.nghttp2_priority_spec_default_init" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Initializes <em>pri_spec</em> with the default values. The default values
|
||||
are: stream_id = 0, weight = <a class="reference internal" href="#c.NGHTTP2_DEFAULT_WEIGHT" title="NGHTTP2_DEFAULT_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_DEFAULT_WEIGHT</span></tt></a> and
|
||||
exclusive = 0.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="function">
|
||||
<dt id="c.nghttp2_priority_spec_check_default">
|
||||
int <tt class="descname">nghttp2_priority_spec_check_default</tt><big>(</big>const <a class="reference internal" href="#c.nghttp2_priority_spec" title="nghttp2_priority_spec">nghttp2_priority_spec</a><em> *pri_spec</em><big>)</big><a class="headerlink" href="#c.nghttp2_priority_spec_check_default" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Returns nonzero if the <em>pri_spec</em> is filled with default values.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="function">
|
||||
|
@ -2518,11 +2485,15 @@ flag is set.</p>
|
|||
int <tt class="descname">nghttp2_submit_request</tt><big>(</big><a class="reference internal" href="#c.nghttp2_session" title="nghttp2_session">nghttp2_session</a><em> *session</em>, const <a class="reference internal" href="#c.nghttp2_priority_spec" title="nghttp2_priority_spec">nghttp2_priority_spec</a><em> *pri_spec</em>, const <a class="reference internal" href="#c.nghttp2_nv" title="nghttp2_nv">nghttp2_nv</a><em> *nva</em>, size_t<em> nvlen</em>, const <a class="reference internal" href="#c.nghttp2_data_provider" title="nghttp2_data_provider">nghttp2_data_provider</a><em> *data_prd</em>, void<em> *stream_user_data</em><big>)</big><a class="headerlink" href="#c.nghttp2_submit_request" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Submits HEADERS frame and optionally one or more DATA frames.</p>
|
||||
<p>The <em>pri_spec</em> is priority specification of this request. <tt class="docutils literal"><span class="pre">NULL</span></tt>
|
||||
means the default priority (priority group ID becomes its stream ID
|
||||
and weight is <a class="reference internal" href="#c.NGHTTP2_DEFAULT_WEIGHT" title="NGHTTP2_DEFAULT_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_DEFAULT_WEIGHT</span></tt></a>). To specify the
|
||||
priority, use either <a class="reference internal" href="#c.nghttp2_priority_spec_group_init" title="nghttp2_priority_spec_group_init"><tt class="xref c c-func docutils literal"><span class="pre">nghttp2_priority_spec_group_init()</span></tt></a> or
|
||||
<a class="reference internal" href="#c.nghttp2_priority_spec_dep_init" title="nghttp2_priority_spec_dep_init"><tt class="xref c c-func docutils literal"><span class="pre">nghttp2_priority_spec_dep_init()</span></tt></a>. If <em>pri_spec</em> is not <tt class="docutils literal"><span class="pre">NULL</span></tt>,
|
||||
means the default priority (see
|
||||
<a class="reference internal" href="#c.nghttp2_priority_spec_default_init" title="nghttp2_priority_spec_default_init"><tt class="xref c c-func docutils literal"><span class="pre">nghttp2_priority_spec_default_init()</span></tt></a>). To specify the priority,
|
||||
use <a class="reference internal" href="#c.nghttp2_priority_spec_init" title="nghttp2_priority_spec_init"><tt class="xref c c-func docutils literal"><span class="pre">nghttp2_priority_spec_init()</span></tt></a>. If <em>pri_spec</em> is not <tt class="docutils literal"><span class="pre">NULL</span></tt>,
|
||||
this function will copy its data members.</p>
|
||||
<p>The <tt class="xref c c-func docutils literal"><span class="pre">pri_spec->weight()</span></tt> must be in [<a class="reference internal" href="#c.NGHTTP2_MIN_WEIGHT" title="NGHTTP2_MIN_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MIN_WEIGHT</span></tt></a>,
|
||||
<a class="reference internal" href="#c.NGHTTP2_MAX_WEIGHT" title="NGHTTP2_MAX_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MAX_WEIGHT</span></tt></a>], inclusive. If <tt class="xref c c-func docutils literal"><span class="pre">pri_spec->weight()</span></tt> is
|
||||
strictly less than <a class="reference internal" href="#c.NGHTTP2_MIN_WEIGHT" title="NGHTTP2_MIN_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MIN_WEIGHT</span></tt></a>, it becomes
|
||||
<a class="reference internal" href="#c.NGHTTP2_MIN_WEIGHT" title="NGHTTP2_MIN_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MIN_WEIGHT</span></tt></a>. If it is strictly greater than
|
||||
<a class="reference internal" href="#c.NGHTTP2_MAX_WEIGHT" title="NGHTTP2_MAX_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MAX_WEIGHT</span></tt></a>, it becomes <a class="reference internal" href="#c.NGHTTP2_MAX_WEIGHT" title="NGHTTP2_MAX_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MAX_WEIGHT</span></tt></a>.</p>
|
||||
<p>The <em>nva</em> is an array of name/value pair <a class="reference internal" href="#c.nghttp2_nv" title="nghttp2_nv"><tt class="xref c c-type docutils literal"><span class="pre">nghttp2_nv</span></tt></a> with
|
||||
<em>nvlen</em> 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:</p>
|
|||
<dl class="docutils">
|
||||
<dt><a class="reference internal" href="#c.NGHTTP2_ERR_NOMEM" title="NGHTTP2_ERR_NOMEM"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_ERR_NOMEM</span></tt></a></dt>
|
||||
<dd>Out of memory.</dd>
|
||||
<dt><a class="reference internal" href="#c.NGHTTP2_ERR_INVALID_ARGUMENT" title="NGHTTP2_ERR_INVALID_ARGUMENT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_ERR_INVALID_ARGUMENT</span></tt></a></dt>
|
||||
<dd>The <em>pri_spec->pri_type</em> is invalid.</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
|
@ -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 <em>stream_id</em>.</p>
|
||||
<p>The <em>pri_spec</em> is priority specification of this request. <tt class="docutils literal"><span class="pre">NULL</span></tt>
|
||||
means the default priority (priority group ID becomes its stream ID
|
||||
and weight is <a class="reference internal" href="#c.NGHTTP2_DEFAULT_WEIGHT" title="NGHTTP2_DEFAULT_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_DEFAULT_WEIGHT</span></tt></a>). To specify the
|
||||
priority, use either <a class="reference internal" href="#c.nghttp2_priority_spec_group_init" title="nghttp2_priority_spec_group_init"><tt class="xref c c-func docutils literal"><span class="pre">nghttp2_priority_spec_group_init()</span></tt></a> or
|
||||
<a class="reference internal" href="#c.nghttp2_priority_spec_dep_init" title="nghttp2_priority_spec_dep_init"><tt class="xref c c-func docutils literal"><span class="pre">nghttp2_priority_spec_dep_init()</span></tt></a>. If <em>pri_spec</em> is not <tt class="docutils literal"><span class="pre">NULL</span></tt>,
|
||||
means the default priority (see
|
||||
<a class="reference internal" href="#c.nghttp2_priority_spec_default_init" title="nghttp2_priority_spec_default_init"><tt class="xref c c-func docutils literal"><span class="pre">nghttp2_priority_spec_default_init()</span></tt></a>). To specify the priority,
|
||||
use <a class="reference internal" href="#c.nghttp2_priority_spec_init" title="nghttp2_priority_spec_init"><tt class="xref c c-func docutils literal"><span class="pre">nghttp2_priority_spec_init()</span></tt></a>. If <em>pri_spec</em> is not <tt class="docutils literal"><span class="pre">NULL</span></tt>,
|
||||
this function will copy its data members.</p>
|
||||
<p>The <tt class="xref c c-func docutils literal"><span class="pre">pri_spec->weight()</span></tt> must be in [<a class="reference internal" href="#c.NGHTTP2_MIN_WEIGHT" title="NGHTTP2_MIN_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MIN_WEIGHT</span></tt></a>,
|
||||
<a class="reference internal" href="#c.NGHTTP2_MAX_WEIGHT" title="NGHTTP2_MAX_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MAX_WEIGHT</span></tt></a>], inclusive. If <tt class="xref c c-func docutils literal"><span class="pre">pri_spec->weight()</span></tt> is
|
||||
strictly less than <a class="reference internal" href="#c.NGHTTP2_MIN_WEIGHT" title="NGHTTP2_MIN_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MIN_WEIGHT</span></tt></a>, it becomes
|
||||
<a class="reference internal" href="#c.NGHTTP2_MIN_WEIGHT" title="NGHTTP2_MIN_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MIN_WEIGHT</span></tt></a>. If it is strictly greater than
|
||||
<a class="reference internal" href="#c.NGHTTP2_MAX_WEIGHT" title="NGHTTP2_MAX_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MAX_WEIGHT</span></tt></a>, it becomes <a class="reference internal" href="#c.NGHTTP2_MAX_WEIGHT" title="NGHTTP2_MAX_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MAX_WEIGHT</span></tt></a>.</p>
|
||||
<p>The <em>nva</em> is an array of name/value pair <a class="reference internal" href="#c.nghttp2_nv" title="nghttp2_nv"><tt class="xref c c-type docutils literal"><span class="pre">nghttp2_nv</span></tt></a> with
|
||||
<em>nvlen</em> 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:</p>
|
|||
<dl class="docutils">
|
||||
<dt><a class="reference internal" href="#c.NGHTTP2_ERR_NOMEM" title="NGHTTP2_ERR_NOMEM"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_ERR_NOMEM</span></tt></a></dt>
|
||||
<dd>Out of memory.</dd>
|
||||
<dt><a class="reference internal" href="#c.NGHTTP2_ERR_INVALID_ARGUMENT" title="NGHTTP2_ERR_INVALID_ARGUMENT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_ERR_INVALID_ARGUMENT</span></tt></a></dt>
|
||||
<dd>The <em>pri_spec->pri_type</em> is invalid.</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
|
@ -2675,17 +2646,20 @@ to the priority specification <em>pri_spec</em>.</p>
|
|||
<a class="reference internal" href="#c.NGHTTP2_FLAG_NONE" title="NGHTTP2_FLAG_NONE"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_FLAG_NONE</span></tt></a>.</p>
|
||||
<p>The <em>pri_spec</em> is priority specification of this request. <tt class="docutils literal"><span class="pre">NULL</span></tt>
|
||||
is not allowed for this function. To specify the priority, use
|
||||
either <a class="reference internal" href="#c.nghttp2_priority_spec_group_init" title="nghttp2_priority_spec_group_init"><tt class="xref c c-func docutils literal"><span class="pre">nghttp2_priority_spec_group_init()</span></tt></a> or
|
||||
<a class="reference internal" href="#c.nghttp2_priority_spec_dep_init" title="nghttp2_priority_spec_dep_init"><tt class="xref c c-func docutils literal"><span class="pre">nghttp2_priority_spec_dep_init()</span></tt></a>. This function will copy its
|
||||
data members.</p>
|
||||
<a class="reference internal" href="#c.nghttp2_priority_spec_init" title="nghttp2_priority_spec_init"><tt class="xref c c-func docutils literal"><span class="pre">nghttp2_priority_spec_init()</span></tt></a>. This function will copy its data
|
||||
members.</p>
|
||||
<p>The <tt class="xref c c-func docutils literal"><span class="pre">pri_spec->weight()</span></tt> must be in [<a class="reference internal" href="#c.NGHTTP2_MIN_WEIGHT" title="NGHTTP2_MIN_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MIN_WEIGHT</span></tt></a>,
|
||||
<a class="reference internal" href="#c.NGHTTP2_MAX_WEIGHT" title="NGHTTP2_MAX_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MAX_WEIGHT</span></tt></a>], inclusive. If <tt class="xref c c-func docutils literal"><span class="pre">pri_spec->weight()</span></tt> is
|
||||
strictly less than <a class="reference internal" href="#c.NGHTTP2_MIN_WEIGHT" title="NGHTTP2_MIN_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MIN_WEIGHT</span></tt></a>, it becomes
|
||||
<a class="reference internal" href="#c.NGHTTP2_MIN_WEIGHT" title="NGHTTP2_MIN_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MIN_WEIGHT</span></tt></a>. If it is strictly greater than
|
||||
<a class="reference internal" href="#c.NGHTTP2_MAX_WEIGHT" title="NGHTTP2_MAX_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MAX_WEIGHT</span></tt></a>, it becomes <a class="reference internal" href="#c.NGHTTP2_MAX_WEIGHT" title="NGHTTP2_MAX_WEIGHT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_MAX_WEIGHT</span></tt></a>.</p>
|
||||
<p>This function returns 0 if it succeeds, or one of the following
|
||||
negative error codes:</p>
|
||||
<dl class="docutils">
|
||||
<dt><a class="reference internal" href="#c.NGHTTP2_ERR_NOMEM" title="NGHTTP2_ERR_NOMEM"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_ERR_NOMEM</span></tt></a></dt>
|
||||
<dd>Out of memory.</dd>
|
||||
<dt><a class="reference internal" href="#c.NGHTTP2_ERR_INVALID_ARGUMENT" title="NGHTTP2_ERR_INVALID_ARGUMENT"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_ERR_INVALID_ARGUMENT</span></tt></a></dt>
|
||||
<dd>The <em>pri_spec</em> is NULL; or the <em>pri_spec->pri_type</em> is invalid;
|
||||
or trying to depend on itself.</dd>
|
||||
<dd>The <em>pri_spec</em> is NULL; or trying to depend on itself.</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
|
|
|
@ -215,6 +215,18 @@
|
|||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.NGHTTP2_BLOCKED">NGHTTP2_BLOCKED (C macro)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.nghttp2_blocked">nghttp2_blocked (C type)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.nghttp2_blocked.hd">nghttp2_blocked.hd (C member)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.NGHTTP2_CANCEL">NGHTTP2_CANCEL (C macro)</a>
|
||||
</dt>
|
||||
|
||||
|
@ -279,6 +291,10 @@
|
|||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.NGHTTP2_DATA_FLAG_COMPRESSED">NGHTTP2_DATA_FLAG_COMPRESSED (C macro)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.NGHTTP2_DATA_FLAG_EOF">NGHTTP2_DATA_FLAG_EOF (C macro)</a>
|
||||
</dt>
|
||||
|
||||
|
@ -463,6 +479,10 @@
|
|||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.NGHTTP2_FLAG_COMPRESSED">NGHTTP2_FLAG_COMPRESSED (C macro)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.NGHTTP2_FLAG_END_HEADERS">NGHTTP2_FLAG_END_HEADERS (C macro)</a>
|
||||
</dt>
|
||||
|
||||
|
@ -487,11 +507,7 @@
|
|||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.NGHTTP2_FLAG_PRIORITY_DEPENDENCY">NGHTTP2_FLAG_PRIORITY_DEPENDENCY (C macro)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.NGHTTP2_FLAG_PRIORITY_GROUP">NGHTTP2_FLAG_PRIORITY_GROUP (C macro)</a>
|
||||
<dt><a href="apiref.html#c.NGHTTP2_FLAG_PRIORITY">NGHTTP2_FLAG_PRIORITY (C macro)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
|
@ -507,6 +523,10 @@
|
|||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.nghttp2_frame.blocked">nghttp2_frame.blocked (C member)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.nghttp2_frame.data">nghttp2_frame.data (C member)</a>
|
||||
</dt>
|
||||
|
||||
|
@ -710,6 +730,8 @@
|
|||
<dt><a href="apiref.html#c.NGHTTP2_INTERNAL_ERROR">NGHTTP2_INTERNAL_ERROR (C macro)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="apiref.html#c.nghttp2_is_fatal">nghttp2_is_fatal (C function)</a>
|
||||
</dt>
|
||||
|
@ -734,8 +756,6 @@
|
|||
<dt><a href="apiref.html#c.NGHTTP2_NO_ERROR">NGHTTP2_NO_ERROR (C macro)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="apiref.html#c.nghttp2_nv">nghttp2_nv (C type)</a>
|
||||
</dt>
|
||||
|
@ -869,67 +889,31 @@
|
|||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.nghttp2_priority_dep">nghttp2_priority_dep (C type)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.nghttp2_priority_dep.exclusive">nghttp2_priority_dep.exclusive (C member)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.nghttp2_priority_dep.stream_id">nghttp2_priority_dep.stream_id (C member)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.nghttp2_priority_group">nghttp2_priority_group (C type)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.nghttp2_priority_group.pri_group_id">nghttp2_priority_group.pri_group_id (C member)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.nghttp2_priority_group.weight">nghttp2_priority_group.weight (C member)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.nghttp2_priority_spec">nghttp2_priority_spec (C type)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.nghttp2_priority_spec.dep">nghttp2_priority_spec.dep (C member)</a>
|
||||
<dt><a href="apiref.html#c.nghttp2_priority_spec.exclusive">nghttp2_priority_spec.exclusive (C member)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.nghttp2_priority_spec.group">nghttp2_priority_spec.group (C member)</a>
|
||||
<dt><a href="apiref.html#c.nghttp2_priority_spec.stream_id">nghttp2_priority_spec.stream_id (C member)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.nghttp2_priority_spec.pri_type">nghttp2_priority_spec.pri_type (C member)</a>
|
||||
<dt><a href="apiref.html#c.nghttp2_priority_spec.weight">nghttp2_priority_spec.weight (C member)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.nghttp2_priority_spec_dep_init">nghttp2_priority_spec_dep_init (C function)</a>
|
||||
<dt><a href="apiref.html#c.nghttp2_priority_spec_check_default">nghttp2_priority_spec_check_default (C function)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.nghttp2_priority_spec_group_init">nghttp2_priority_spec_group_init (C function)</a>
|
||||
<dt><a href="apiref.html#c.nghttp2_priority_spec_default_init">nghttp2_priority_spec_default_init (C function)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.nghttp2_priority_type">nghttp2_priority_type (C type)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.NGHTTP2_PRIORITY_TYPE_DEP">NGHTTP2_PRIORITY_TYPE_DEP (C macro)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.NGHTTP2_PRIORITY_TYPE_GROUP">NGHTTP2_PRIORITY_TYPE_GROUP (C macro)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.NGHTTP2_PRIORITY_TYPE_NONE">NGHTTP2_PRIORITY_TYPE_NONE (C macro)</a>
|
||||
<dt><a href="apiref.html#c.nghttp2_priority_spec_init">nghttp2_priority_spec_init (C function)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
|
@ -1177,6 +1161,10 @@
|
|||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.NGHTTP2_SETTINGS_COMPRESS_DATA">NGHTTP2_SETTINGS_COMPRESS_DATA (C macro)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="apiref.html#c.NGHTTP2_SETTINGS_ENABLE_PUSH">NGHTTP2_SETTINGS_ENABLE_PUSH (C macro)</a>
|
||||
</dt>
|
||||
|
||||
|
|
222
nghttp2.h.html
222
nghttp2.h.html
|
@ -202,7 +202,7 @@
|
|||
<span class="cm"> * The protocol version identification string of this library</span>
|
||||
<span class="cm"> * supports. This identifier is used if HTTP/2 is used over TLS.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="cp">#define NGHTTP2_PROTO_VERSION_ID "h2-11"</span>
|
||||
<span class="cp">#define NGHTTP2_PROTO_VERSION_ID "h2-12"</span>
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * @macro</span>
|
||||
<span class="cm"> *</span>
|
||||
|
@ -217,7 +217,7 @@
|
|||
<span class="cm"> * supports. This identifier is used if HTTP/2 is used over cleartext</span>
|
||||
<span class="cm"> * TCP.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="cp">#define NGHTTP2_CLEARTEXT_PROTO_VERSION_ID "h2c-11"</span>
|
||||
<span class="cp">#define NGHTTP2_CLEARTEXT_PROTO_VERSION_ID "h2c-12"</span>
|
||||
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * @macro</span>
|
||||
|
@ -275,21 +275,21 @@
|
|||
<span class="cm">/**</span>
|
||||
<span class="cm"> * @macro</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * The default weight of priority group.</span>
|
||||
<span class="cm"> * The default weight of stream dependency.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="cp">#define NGHTTP2_DEFAULT_WEIGHT 16</span>
|
||||
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * @macro</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * The maximum weight of priority group.</span>
|
||||
<span class="cm"> * The maximum weight of stream dependency.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="cp">#define NGHTTP2_MAX_WEIGHT 256</span>
|
||||
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * @macro</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * The minimum weight of priority group.</span>
|
||||
<span class="cm"> * The minimum weight of stream dependency.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="cp">#define NGHTTP2_MIN_WEIGHT 1</span>
|
||||
|
||||
|
@ -604,7 +604,11 @@
|
|||
<span class="cm">/**</span>
|
||||
<span class="cm"> * The ALTSVC frame.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="n">NGHTTP2_ALTSVC</span> <span class="o">=</span> <span class="mh">0x0a</span>
|
||||
<span class="n">NGHTTP2_ALTSVC</span> <span class="o">=</span> <span class="mh">0x0a</span><span class="p">,</span>
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * The BLOCKED frame.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="n">NGHTTP2_BLOCKED</span> <span class="o">=</span> <span class="mh">0x0b</span>
|
||||
<span class="p">}</span> <span class="n">nghttp2_frame_type</span><span class="p">;</span>
|
||||
|
||||
<span class="cm">/**</span>
|
||||
|
@ -643,13 +647,13 @@
|
|||
<span class="cm"> */</span>
|
||||
<span class="n">NGHTTP2_FLAG_PAD_HIGH</span> <span class="o">=</span> <span class="mh">0x10</span><span class="p">,</span>
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * The PRIORITY_GROUP flag.</span>
|
||||
<span class="cm"> * The PRIORITY flag.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="n">NGHTTP2_FLAG_PRIORITY_GROUP</span> <span class="o">=</span> <span class="mh">0x20</span><span class="p">,</span>
|
||||
<span class="n">NGHTTP2_FLAG_PRIORITY</span> <span class="o">=</span> <span class="mh">0x20</span><span class="p">,</span>
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * The PRIORITY_DEPENDENCY flag.</span>
|
||||
<span class="cm"> * THE COMPRESSED flag.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="n">NGHTTP2_FLAG_PRIORITY_DEPENDENCY</span> <span class="o">=</span> <span class="mh">0x40</span>
|
||||
<span class="n">NGHTTP2_FLAG_COMPRESSED</span> <span class="o">=</span> <span class="mh">0x20</span>
|
||||
<span class="p">}</span> <span class="n">nghttp2_flag</span><span class="p">;</span>
|
||||
|
||||
<span class="cm">/**</span>
|
||||
|
@ -674,9 +678,13 @@
|
|||
<span class="cm"> */</span>
|
||||
<span class="n">NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE</span> <span class="o">=</span> <span class="mi">4</span><span class="p">,</span>
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * SETTINGS_COMPRESS_DATA</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="n">NGHTTP2_SETTINGS_COMPRESS_DATA</span> <span class="o">=</span> <span class="mi">5</span><span class="p">,</span>
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * Maximum ID of :type:`nghttp2_settings_id`.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="n">NGHTTP2_SETTINGS_MAX</span> <span class="o">=</span> <span class="mi">4</span>
|
||||
<span class="n">NGHTTP2_SETTINGS_MAX</span> <span class="o">=</span> <span class="mi">5</span>
|
||||
<span class="p">}</span> <span class="n">nghttp2_settings_id</span><span class="p">;</span>
|
||||
|
||||
<span class="cm">/**</span>
|
||||
|
@ -799,7 +807,11 @@
|
|||
<span class="cm">/**</span>
|
||||
<span class="cm"> * Indicates EOF was sensed.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="n">NGHTTP2_DATA_FLAG_EOF</span> <span class="o">=</span> <span class="mh">0x01</span>
|
||||
<span class="n">NGHTTP2_DATA_FLAG_EOF</span> <span class="o">=</span> <span class="mh">0x01</span><span class="p">,</span>
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * Indicates data was compressed by application.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="n">NGHTTP2_DATA_FLAG_COMPRESSED</span> <span class="o">=</span> <span class="mh">0x02</span>
|
||||
<span class="p">}</span> <span class="n">nghttp2_data_flag</span><span class="p">;</span>
|
||||
|
||||
<span class="cm">/**</span>
|
||||
|
@ -810,7 +822,13 @@
|
|||
<span class="cm"> * The implementation of this function must read at most |length|</span>
|
||||
<span class="cm"> * bytes of data from |source| (or possibly other places) and store</span>
|
||||
<span class="cm"> * them in |buf| and return number of data stored in |buf|. If EOF is</span>
|
||||
<span class="cm"> * reached, set :enum:`NGHTTP2_DATA_FLAG_EOF` flag in |*data_falgs|.</span>
|
||||
<span class="cm"> * reached, set :enum:`NGHTTP2_DATA_FLAG_EOF` flag in |*data_flags|.</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * To send compressed data payload without affecting content-length,</span>
|
||||
<span class="cm"> * set :enum:`NGHTTP2_DATA_FLAG_COMPRESSED` flag in |*data_flags|.</span>
|
||||
<span class="cm"> * Compression must be done by application prior to fill data in</span>
|
||||
<span class="cm"> * |buf|.</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * If the application wants to postpone DATA frames (e.g.,</span>
|
||||
<span class="cm"> * asynchronous I/O, or reading data blocks for long time), it is</span>
|
||||
<span class="cm"> * achieved by returning :enum:`NGHTTP2_ERR_DEFERRED` without reading</span>
|
||||
|
@ -892,93 +910,25 @@
|
|||
<span class="n">NGHTTP2_HCAT_HEADERS</span> <span class="o">=</span> <span class="mi">3</span>
|
||||
<span class="p">}</span> <span class="n">nghttp2_headers_category</span><span class="p">;</span>
|
||||
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * @enum</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * The type of priority specified in :type:`nghttp2_priority_spec`.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span>
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * No priority is given. The default priority will be used.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="n">NGHTTP2_PRIORITY_TYPE_NONE</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * Priority group ID and its weight are specified.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="n">NGHTTP2_PRIORITY_TYPE_GROUP</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * The stream ID of a stream to depend on and its exclusive flag is</span>
|
||||
<span class="cm"> * specified.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="n">NGHTTP2_PRIORITY_TYPE_DEP</span> <span class="o">=</span> <span class="mi">2</span>
|
||||
<span class="p">}</span> <span class="n">nghttp2_priority_type</span><span class="p">;</span>
|
||||
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * @struct</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * This structure stores priority group ID and its weight.</span>
|
||||
<span class="cm"> * The structure to specify stream dependency.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * The priority group ID</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="kt">int32_t</span> <span class="n">pri_group_id</span><span class="p">;</span>
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * The weight of the priority group</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="kt">int32_t</span> <span class="n">weight</span><span class="p">;</span>
|
||||
<span class="p">}</span> <span class="n">nghttp2_priority_group</span><span class="p">;</span>
|
||||
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * @struct</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * This structure stores stream ID of the stream to depend on and its</span>
|
||||
<span class="cm"> * dependency is exclusive or not.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * The stream ID of the stream to depend on.</span>
|
||||
<span class="cm"> * The stream ID of the stream to depend on. Specifying 0 makes</span>
|
||||
<span class="cm"> * stream not depend any other stream.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="kt">int32_t</span> <span class="n">stream_id</span><span class="p">;</span>
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * The weight of this dependency.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="kt">int32_t</span> <span class="n">weight</span><span class="p">;</span>
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * nonzero means exclusive dependency</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="kt">uint8_t</span> <span class="n">exclusive</span><span class="p">;</span>
|
||||
<span class="p">}</span> <span class="n">nghttp2_priority_dep</span><span class="p">;</span>
|
||||
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * @struct</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * The structure to specify stream dependency. To specify stream</span>
|
||||
<span class="cm"> * dependency, specify |pri_type| and fill the |group| or |dep| member</span>
|
||||
<span class="cm"> * according to |pri_type|.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * Type of priority specification. If |pri_type| is</span>
|
||||
<span class="cm"> * :enum:`NGHTTP2_PRIORITY_TYPE_GROUP`, fill |group|. If |pri_type|</span>
|
||||
<span class="cm"> * is :enum:`NGHTTP2_PRIORITY_TYPE_DEP`, fill |dep|. If |pri_type|</span>
|
||||
<span class="cm"> * is :enum:`NGHTTP2_PRIORITY_TYPE_NONE`, the other data members are</span>
|
||||
<span class="cm"> * ignored and it means that default priority group ID (which is</span>
|
||||
<span class="cm"> * same as the stream ID) and default weight</span>
|
||||
<span class="cm"> * :macro:`NGHTTP2_DEFAULT_WEIGHT` are specified.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="n">nghttp2_priority_type</span> <span class="n">pri_type</span><span class="p">;</span>
|
||||
|
||||
<span class="k">union</span> <span class="p">{</span>
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * Specify priority group ID and its weight. This field is</span>
|
||||
<span class="cm"> * interpreted only when |pri_type| member is</span>
|
||||
<span class="cm"> * :enum:`NGHTTP2_PRIORITY_TYPE_GROUP`.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="n">nghttp2_priority_group</span> <span class="n">group</span><span class="p">;</span>
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * Specify stream ID of a stream to depend on and exclusive flag.</span>
|
||||
<span class="cm"> * This field is interpreted only when |pri_type| member is</span>
|
||||
<span class="cm"> * :enum:`NGHTTP2_PRIORITY_TYPE_DEP`.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="n">nghttp2_priority_dep</span> <span class="n">dep</span><span class="p">;</span>
|
||||
<span class="p">}</span> <span class="n">spec</span><span class="p">;</span>
|
||||
<span class="p">}</span> <span class="n">nghttp2_priority_spec</span><span class="p">;</span>
|
||||
|
||||
<span class="cm">/**</span>
|
||||
|
@ -1215,6 +1165,18 @@
|
|||
<span class="kt">uint16_t</span> <span class="n">port</span><span class="p">;</span>
|
||||
<span class="p">}</span> <span class="n">nghttp2_altsvc</span><span class="p">;</span>
|
||||
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * @struct</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * The BLOCKED frame. It has following members:</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * The frame header.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="n">nghttp2_frame_hd</span> <span class="n">hd</span><span class="p">;</span>
|
||||
<span class="p">}</span> <span class="n">nghttp2_blocked</span><span class="p">;</span>
|
||||
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * @union</span>
|
||||
<span class="cm"> *</span>
|
||||
|
@ -1267,6 +1229,10 @@
|
|||
<span class="cm"> * The ALTSVC frame.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="n">nghttp2_altsvc</span> <span class="n">altsvc</span><span class="p">;</span>
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * The BLOCKED frame.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="n">nghttp2_blocked</span> <span class="n">blocked</span><span class="p">;</span>
|
||||
<span class="p">}</span> <span class="n">nghttp2_frame</span><span class="p">;</span>
|
||||
|
||||
<span class="cm">/**</span>
|
||||
|
@ -2314,32 +2280,32 @@
|
|||
<span class="cm">/**</span>
|
||||
<span class="cm"> * @function</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * Initializes |pri_spec| with priority group ID |pri_group_id| and</span>
|
||||
<span class="cm"> * its weight |weight|.</span>
|
||||
<span class="cm"> * Initializes |pri_spec| with the |stream_id| of the stream to depend</span>
|
||||
<span class="cm"> * on with |weight| and its exclusive flag. If |exclusive| is</span>
|
||||
<span class="cm"> * nonzero, exclusive flag is set.</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * The |weight| must be in [:enum:`NGHTTP2_MIN_WEIGHT`,</span>
|
||||
<span class="cm"> * :enum:`NGHTTP2_MAX_WEIGHT`], inclusive. If |weight| is strictly</span>
|
||||
<span class="cm"> * less than :enum:`NGHTTP2_MIN_WEIGHT`, it becomes</span>
|
||||
<span class="cm"> * :enum:`NGHTTP2_MIN_WEIGHT`. If it is strictly greater than</span>
|
||||
<span class="cm"> * :enum:`NGHTTP2_MAX_WEIGHT`, it becomes :enum:`NGHTTP2_MAX_WEIGHT`.</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * To specify weight for the default priority group (which is the same</span>
|
||||
<span class="cm"> * as the stream ID of the stream) in `nghttp2_submit_request()` and</span>
|
||||
<span class="cm"> * `nghttp2_submit_headers()` and its stream ID is not known in</span>
|
||||
<span class="cm"> * advance, specify -1 to |pri_group_id|.</span>
|
||||
<span class="cm"> * :enum:`NGHTTP2_MAX_WEIGHT`], inclusive.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="kt">void</span> <span class="nf">nghttp2_priority_spec_group_init</span><span class="p">(</span><span class="n">nghttp2_priority_spec</span> <span class="o">*</span><span class="n">pri_spec</span><span class="p">,</span>
|
||||
<span class="kt">int32_t</span> <span class="n">pri_group_id</span><span class="p">,</span> <span class="kt">int32_t</span> <span class="n">weight</span><span class="p">);</span>
|
||||
<span class="kt">void</span> <span class="nf">nghttp2_priority_spec_init</span><span class="p">(</span><span class="n">nghttp2_priority_spec</span> <span class="o">*</span><span class="n">pri_spec</span><span class="p">,</span>
|
||||
<span class="kt">int32_t</span> <span class="n">stream_id</span><span class="p">,</span> <span class="kt">int32_t</span> <span class="n">weight</span><span class="p">,</span>
|
||||
<span class="kt">int</span> <span class="n">exclusive</span><span class="p">);</span>
|
||||
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * @function</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * Initializes |pri_spec| with the |stream_id| of the stream to depend</span>
|
||||
<span class="cm"> * on and its exclusive flag. If |exclusive| is nonzero, exclusive</span>
|
||||
<span class="cm"> * flag is set.</span>
|
||||
<span class="cm"> * Initializes |pri_spec| with the default values. The default values</span>
|
||||
<span class="cm"> * are: stream_id = 0, weight = :macro:`NGHTTP2_DEFAULT_WEIGHT` and</span>
|
||||
<span class="cm"> * exclusive = 0.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="kt">void</span> <span class="nf">nghttp2_priority_spec_dep_init</span><span class="p">(</span><span class="n">nghttp2_priority_spec</span> <span class="o">*</span><span class="n">pri_spec</span><span class="p">,</span>
|
||||
<span class="kt">int32_t</span> <span class="n">stream_id</span><span class="p">,</span> <span class="kt">int</span> <span class="n">exclusive</span><span class="p">);</span>
|
||||
<span class="kt">void</span> <span class="nf">nghttp2_priority_spec_default_init</span><span class="p">(</span><span class="n">nghttp2_priority_spec</span> <span class="o">*</span><span class="n">pri_spec</span><span class="p">);</span>
|
||||
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * @function</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * Returns nonzero if the |pri_spec| is filled with default values.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="kt">int</span> <span class="nf">nghttp2_priority_spec_check_default</span><span class="p">(</span><span class="k">const</span> <span class="n">nghttp2_priority_spec</span> <span class="o">*</span><span class="n">pri_spec</span><span class="p">);</span>
|
||||
|
||||
<span class="cm">/**</span>
|
||||
<span class="cm"> * @function</span>
|
||||
|
@ -2347,12 +2313,17 @@
|
|||
<span class="cm"> * Submits HEADERS frame and optionally one or more DATA frames.</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * The |pri_spec| is priority specification of this request. ``NULL``</span>
|
||||
<span class="cm"> * means the default priority (priority group ID becomes its stream ID</span>
|
||||
<span class="cm"> * and weight is :macro:`NGHTTP2_DEFAULT_WEIGHT`). To specify the</span>
|
||||
<span class="cm"> * priority, use either `nghttp2_priority_spec_group_init()` or</span>
|
||||
<span class="cm"> * `nghttp2_priority_spec_dep_init()`. If |pri_spec| is not ``NULL``,</span>
|
||||
<span class="cm"> * means the default priority (see</span>
|
||||
<span class="cm"> * `nghttp2_priority_spec_default_init()`). To specify the priority,</span>
|
||||
<span class="cm"> * use `nghttp2_priority_spec_init()`. If |pri_spec| is not ``NULL``,</span>
|
||||
<span class="cm"> * this function will copy its data members.</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * The `pri_spec->weight` must be in [:enum:`NGHTTP2_MIN_WEIGHT`,</span>
|
||||
<span class="cm"> * :enum:`NGHTTP2_MAX_WEIGHT`], inclusive. If `pri_spec->weight` is</span>
|
||||
<span class="cm"> * strictly less than :enum:`NGHTTP2_MIN_WEIGHT`, it becomes</span>
|
||||
<span class="cm"> * :enum:`NGHTTP2_MIN_WEIGHT`. If it is strictly greater than</span>
|
||||
<span class="cm"> * :enum:`NGHTTP2_MAX_WEIGHT`, it becomes :enum:`NGHTTP2_MAX_WEIGHT`.</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * The |nva| is an array of name/value pair :type:`nghttp2_nv` with</span>
|
||||
<span class="cm"> * |nvlen| elements. The value is opaque sequence of bytes and</span>
|
||||
<span class="cm"> * therefore can contain NULL byte (0x0). If the application requires</span>
|
||||
|
@ -2395,8 +2366,6 @@
|
|||
<span class="cm"> *</span>
|
||||
<span class="cm"> * :enum:`NGHTTP2_ERR_NOMEM`</span>
|
||||
<span class="cm"> * Out of memory.</span>
|
||||
<span class="cm"> * :enum:`NGHTTP2_ERR_INVALID_ARGUMENT`</span>
|
||||
<span class="cm"> * The |pri_spec->pri_type| is invalid.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="kt">int</span> <span class="nf">nghttp2_submit_request</span><span class="p">(</span><span class="n">nghttp2_session</span> <span class="o">*</span><span class="n">session</span><span class="p">,</span>
|
||||
<span class="k">const</span> <span class="n">nghttp2_priority_spec</span> <span class="o">*</span><span class="n">pri_spec</span><span class="p">,</span>
|
||||
|
@ -2467,12 +2436,17 @@
|
|||
<span class="cm"> * response, specify stream ID in |stream_id|.</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * The |pri_spec| is priority specification of this request. ``NULL``</span>
|
||||
<span class="cm"> * means the default priority (priority group ID becomes its stream ID</span>
|
||||
<span class="cm"> * and weight is :macro:`NGHTTP2_DEFAULT_WEIGHT`). To specify the</span>
|
||||
<span class="cm"> * priority, use either `nghttp2_priority_spec_group_init()` or</span>
|
||||
<span class="cm"> * `nghttp2_priority_spec_dep_init()`. If |pri_spec| is not ``NULL``,</span>
|
||||
<span class="cm"> * means the default priority (see</span>
|
||||
<span class="cm"> * `nghttp2_priority_spec_default_init()`). To specify the priority,</span>
|
||||
<span class="cm"> * use `nghttp2_priority_spec_init()`. If |pri_spec| is not ``NULL``,</span>
|
||||
<span class="cm"> * this function will copy its data members.</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * The `pri_spec->weight` must be in [:enum:`NGHTTP2_MIN_WEIGHT`,</span>
|
||||
<span class="cm"> * :enum:`NGHTTP2_MAX_WEIGHT`], inclusive. If `pri_spec->weight` is</span>
|
||||
<span class="cm"> * strictly less than :enum:`NGHTTP2_MIN_WEIGHT`, it becomes</span>
|
||||
<span class="cm"> * :enum:`NGHTTP2_MIN_WEIGHT`. If it is strictly greater than</span>
|
||||
<span class="cm"> * :enum:`NGHTTP2_MAX_WEIGHT`, it becomes :enum:`NGHTTP2_MAX_WEIGHT`.</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * The |nva| is an array of name/value pair :type:`nghttp2_nv` with</span>
|
||||
<span class="cm"> * |nvlen| elements. The value is opaque sequence of bytes and</span>
|
||||
<span class="cm"> * therefore can contain NULL byte (0x0). If the application requires</span>
|
||||
|
@ -2497,8 +2471,6 @@
|
|||
<span class="cm"> *</span>
|
||||
<span class="cm"> * :enum:`NGHTTP2_ERR_NOMEM`</span>
|
||||
<span class="cm"> * Out of memory.</span>
|
||||
<span class="cm"> * :enum:`NGHTTP2_ERR_INVALID_ARGUMENT`</span>
|
||||
<span class="cm"> * The |pri_spec->pri_type| is invalid.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="kt">int</span> <span class="nf">nghttp2_submit_headers</span><span class="p">(</span><span class="n">nghttp2_session</span> <span class="o">*</span><span class="n">session</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">flags</span><span class="p">,</span>
|
||||
<span class="kt">int32_t</span> <span class="n">stream_id</span><span class="p">,</span>
|
||||
|
@ -2541,9 +2513,14 @@
|
|||
<span class="cm"> *</span>
|
||||
<span class="cm"> * The |pri_spec| is priority specification of this request. ``NULL``</span>
|
||||
<span class="cm"> * is not allowed for this function. To specify the priority, use</span>
|
||||
<span class="cm"> * either `nghttp2_priority_spec_group_init()` or</span>
|
||||
<span class="cm"> * `nghttp2_priority_spec_dep_init()`. This function will copy its</span>
|
||||
<span class="cm"> * data members.</span>
|
||||
<span class="cm"> * `nghttp2_priority_spec_init()`. This function will copy its data</span>
|
||||
<span class="cm"> * members.</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * The `pri_spec->weight` must be in [:enum:`NGHTTP2_MIN_WEIGHT`,</span>
|
||||
<span class="cm"> * :enum:`NGHTTP2_MAX_WEIGHT`], inclusive. If `pri_spec->weight` is</span>
|
||||
<span class="cm"> * strictly less than :enum:`NGHTTP2_MIN_WEIGHT`, it becomes</span>
|
||||
<span class="cm"> * :enum:`NGHTTP2_MIN_WEIGHT`. If it is strictly greater than</span>
|
||||
<span class="cm"> * :enum:`NGHTTP2_MAX_WEIGHT`, it becomes :enum:`NGHTTP2_MAX_WEIGHT`.</span>
|
||||
<span class="cm"> *</span>
|
||||
<span class="cm"> * This function returns 0 if it succeeds, or one of the following</span>
|
||||
<span class="cm"> * negative error codes:</span>
|
||||
|
@ -2551,8 +2528,7 @@
|
|||
<span class="cm"> * :enum:`NGHTTP2_ERR_NOMEM`</span>
|
||||
<span class="cm"> * Out of memory.</span>
|
||||
<span class="cm"> * :enum:`NGHTTP2_ERR_INVALID_ARGUMENT`</span>
|
||||
<span class="cm"> * The |pri_spec| is NULL; or the |pri_spec->pri_type| is invalid;</span>
|
||||
<span class="cm"> * or trying to depend on itself.</span>
|
||||
<span class="cm"> * The |pri_spec| is NULL; or trying to depend on itself.</span>
|
||||
<span class="cm"> */</span>
|
||||
<span class="kt">int</span> <span class="nf">nghttp2_submit_priority</span><span class="p">(</span><span class="n">nghttp2_session</span> <span class="o">*</span><span class="n">session</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">flags</span><span class="p">,</span>
|
||||
<span class="kt">int32_t</span> <span class="n">stream_id</span><span class="p">,</span>
|
||||
|
|
BIN
objects.inv
BIN
objects.inv
Binary file not shown.
|
@ -163,8 +163,8 @@
|
|||
version 2.</p>
|
||||
<div class="section" id="development-status">
|
||||
<h2>Development Status<a class="headerlink" href="#development-status" title="Permalink to this headline">¶</a></h2>
|
||||
<p>We started to implement h2-11
|
||||
(<a class="reference external" href="http://tools.ietf.org/html/draft-ietf-httpbis-http2-11">http://tools.ietf.org/html/draft-ietf-httpbis-http2-11</a>) and the
|
||||
<p>We started to implement h2-12
|
||||
(<a class="reference external" href="http://tools.ietf.org/html/draft-ietf-httpbis-http2-12">http://tools.ietf.org/html/draft-ietf-httpbis-http2-12</a>) and the
|
||||
header compression
|
||||
(<a class="reference external" href="http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-07">http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-07</a>).</p>
|
||||
<p>The nghttp2 code base was forked from spdylay project.</p>
|
||||
|
@ -175,17 +175,17 @@ header compression
|
|||
</colgroup>
|
||||
<thead valign="bottom">
|
||||
<tr class="row-odd"><th class="head">Features</th>
|
||||
<th class="head">h2-11</th>
|
||||
<th class="head">h2-12</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody valign="top">
|
||||
<tr class="row-even"><td>HPACK-draft-07</td>
|
||||
<tr class="row-even"><td>Dependency based priority</td>
|
||||
<td>Done</td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td>Dependency based priority</td>
|
||||
<tr class="row-odd"><td>BLOCKED frame</td>
|
||||
<td>Done</td>
|
||||
</tr>
|
||||
<tr class="row-even"><td>ALTSVC frame</td>
|
||||
<tr class="row-even"><td>COMPRESSED DATA</td>
|
||||
<td>Done</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
@ -311,12 +311,12 @@ with prior knowledge, HTTP Upgrade and NPN/ALPN TLS extension.</p>
|
|||
output from <tt class="docutils literal"><span class="pre">nghttp</span></tt> client:</p>
|
||||
<div class="highlight-c"><div class="highlight"><pre>$ 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
|
|||
<div class="section" id="nghttpx-proxy">
|
||||
<h3>nghttpx - proxy<a class="headerlink" href="#nghttpx-proxy" title="Permalink to this headline">¶</a></h3>
|
||||
<p><tt class="docutils literal"><span class="pre">nghttpx</span></tt> is a multi-threaded reverse proxy for
|
||||
<tt class="docutils literal"><span class="pre">h2-11</span></tt>, SPDY and HTTP/1.1. It has several operation modes:</p>
|
||||
<tt class="docutils literal"><span class="pre">h2-12</span></tt>, SPDY and HTTP/1.1. It has several operation modes:</p>
|
||||
<table border="1" class="docutils">
|
||||
<colgroup>
|
||||
<col width="25%" />
|
||||
|
@ -525,7 +525,7 @@ IPv6: listen on port 8080
|
|||
</tbody>
|
||||
</table>
|
||||
<p>The interesting mode at the moment is the default mode. It works like
|
||||
a reverse proxy and listens for <tt class="docutils literal"><span class="pre">h2-11</span></tt>, SPDY and HTTP/1.1 and can
|
||||
a reverse proxy and listens for <tt class="docutils literal"><span class="pre">h2-12</span></tt>, SPDY and HTTP/1.1 and can
|
||||
be deployed SSL/TLS terminator for existing web server.</p>
|
||||
<p>The default mode, <tt class="docutils literal"><span class="pre">--http2-proxy</span></tt> and <tt class="docutils literal"><span class="pre">--http2-bridge</span></tt> modes use
|
||||
SSL/TLS in the frontend connection by default. To disable SSL/TLS,
|
||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue