Update doc

This commit is contained in:
Tatsuhiro Tsujikawa 2014-01-26 23:37:13 +09:00
parent 6f2be71460
commit 608c70d398
7 changed files with 44 additions and 128 deletions

View File

@ -281,6 +281,10 @@ Enums
(``9``)
The WINDOW_UPDATE frame.
.. macro:: NGHTTP2_CONTINUATION
(``10``)
The CONTINUATION frame.
.. type:: nghttp2_flag
@ -529,18 +533,18 @@ Types (structs, unions and typedefs)
The frame header.
.. member:: uint16_t length
.. member:: size_t length
The length field of this frame, excluding frame header.
.. member:: int32_t stream_id
The stream identifier (aka, stream ID)
.. member:: uint8_t type
The type of this frame. See `nghttp2_frame`.
.. member:: uint8_t flags
The flags.
.. member:: int32_t stream_id
The stream identifier (aka, stream ID)
.. type:: nghttp2_data_source
@ -962,27 +966,6 @@ Types (structs, unions and typedefs)
`nghttp2_session_recv()` and `nghttp2_session_send()` functions
immediately return :macro:`NGHTTP2_ERR_CALLBACK_FAILURE`.
.. type:: typedef int (*nghttp2_on_frame_recv_parse_error_callback) (nghttp2_session *session, nghttp2_frame_type type, const uint8_t *head, size_t headlen, const uint8_t *payload, size_t payloadlen, int lib_error_code, void *user_data)
Callback function invoked when the received control frame octets
could not be parsed correctly. The *type* indicates the type of
received non-DATA frame. The *head* is the pointer to the header of
the received frame. The *headlen* is the length of the
*head*. According to the spec, the *headlen* is always 8. In other
words, the *head* is the first 8 bytes of the received frame. The
*payload* is the pointer to the data portion of the received frame.
The *payloadlen* is the length of the *payload*. This is the data
after the length field. The *lib_error_code* is one of the error
code defined in :macro:`nghttp2_error` and indicates the error. The
*user_data* pointer is the third argument passed in to the call to
`nghttp2_session_client_new()` or `nghttp2_session_server_new()`.
The implementation of this function must return 0 if it
succeeds. If nonzero is returned, it is treated as fatal error and
`nghttp2_session_recv()` and `nghttp2_session_send()` functions
immediately return :macro:`NGHTTP2_ERR_CALLBACK_FAILURE`.
.. type:: typedef int (*nghttp2_on_unknown_frame_recv_callback) (nghttp2_session *session, const uint8_t *head, size_t headlen, const uint8_t *payload, size_t payloadlen, void *user_data)
@ -1099,10 +1082,6 @@ Types (structs, unions and typedefs)
Callback function invoked when request from the remote peer is
received.
.. member:: nghttp2_on_frame_recv_parse_error_callback
Callback function invoked when the received non-DATA frame octets
could not be parsed correctly.
.. member:: nghttp2_on_unknown_frame_recv_callback on_unknown_frame_recv_callback
Callback function invoked when the received frame type is
@ -1326,10 +1305,7 @@ Functions
invalid,
:member:`nghttp2_session_callbacks.on_invalid_frame_recv_callback`
is invoked.
4. If the received frame could not be unpacked correctly,
:member:`nghttp2_session_callbacks.on_frame_recv_parse_error_callback`
is invoked.
5. If the received frame type is unknown,
4. If the received frame type is unknown,
:member:`nghttp2_session_callbacks.on_unknown_frame_recv_callback`
is invoked.

View File

@ -547,6 +547,13 @@ The GOAWAY frame.</p>
The WINDOW_UPDATE frame.</p>
</dd></dl>
<dl class="macro">
<dt id="NGHTTP2_CONTINUATION">
<tt class="descname">NGHTTP2_CONTINUATION</tt><a class="headerlink" href="#NGHTTP2_CONTINUATION" title="Permalink to this definition"></a></dt>
<dd><p>(<tt class="docutils literal"><span class="pre">10</span></tt>)
The CONTINUATION frame.</p>
</dd></dl>
</dd></dl>
<dl class="type">
@ -908,10 +915,16 @@ uint16_t <tt class="descname">valuelen</tt><a class="headerlink" href="#nghttp2_
<dd><p>The frame header.</p>
<dl class="member">
<dt id="nghttp2_frame_hd.length">
uint16_t <tt class="descname">length</tt><a class="headerlink" href="#nghttp2_frame_hd.length" title="Permalink to this definition"></a></dt>
size_t <tt class="descname">length</tt><a class="headerlink" href="#nghttp2_frame_hd.length" title="Permalink to this definition"></a></dt>
<dd><p>The length field of this frame, excluding frame header.</p>
</dd></dl>
<dl class="member">
<dt id="nghttp2_frame_hd.stream_id">
int32_t <tt class="descname">stream_id</tt><a class="headerlink" href="#nghttp2_frame_hd.stream_id" title="Permalink to this definition"></a></dt>
<dd><p>The stream identifier (aka, stream ID)</p>
</dd></dl>
<dl class="member">
<dt id="nghttp2_frame_hd.type">
uint8_t <tt class="descname">type</tt><a class="headerlink" href="#nghttp2_frame_hd.type" title="Permalink to this definition"></a></dt>
@ -924,12 +937,6 @@ uint8_t <tt class="descname">flags</tt><a class="headerlink" href="#nghttp2_fram
<dd><p>The flags.</p>
</dd></dl>
<dl class="member">
<dt id="nghttp2_frame_hd.stream_id">
int32_t <tt class="descname">stream_id</tt><a class="headerlink" href="#nghttp2_frame_hd.stream_id" title="Permalink to this definition"></a></dt>
<dd><p>The stream identifier (aka, stream ID)</p>
</dd></dl>
</dd></dl>
<dl class="type">
@ -1466,27 +1473,6 @@ succeeds. If nonzero is returned, it is treated as fatal error and
immediately return <a class="reference internal" href="#NGHTTP2_ERR_CALLBACK_FAILURE" title="NGHTTP2_ERR_CALLBACK_FAILURE"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_ERR_CALLBACK_FAILURE</span></tt></a>.</p>
</dd></dl>
<dl class="type">
<dt id="nghttp2_on_frame_recv_parse_error_callback">
typedef int <tt class="descname">(*nghttp2_on_frame_recv_parse_error_callback)</tt><big>(</big><a class="reference internal" href="#nghttp2_session" title="nghttp2_session">nghttp2_session</a><em>&nbsp;*session</em>, <a class="reference internal" href="#nghttp2_frame_type" title="nghttp2_frame_type">nghttp2_frame_type</a><em>&nbsp;type</em>, const uint8_t<em>&nbsp;*head</em>, size_t<em>&nbsp;headlen</em>, const uint8_t<em>&nbsp;*payload</em>, size_t<em>&nbsp;payloadlen</em>, int<em>&nbsp;lib_error_code</em>, void<em>&nbsp;*user_data</em><big>)</big><a class="headerlink" href="#nghttp2_on_frame_recv_parse_error_callback" title="Permalink to this definition"></a></dt>
<dd><p>Callback function invoked when the received control frame octets
could not be parsed correctly. The <em>type</em> indicates the type of
received non-DATA frame. The <em>head</em> is the pointer to the header of
the received frame. The <em>headlen</em> is the length of the
<em>head</em>. According to the spec, the <em>headlen</em> is always 8. In other
words, the <em>head</em> is the first 8 bytes of the received frame. The
<em>payload</em> is the pointer to the data portion of the received frame.
The <em>payloadlen</em> is the length of the <em>payload</em>. This is the data
after the length field. The <em>lib_error_code</em> is one of the error
code defined in <a class="reference internal" href="#nghttp2_error" title="nghttp2_error"><tt class="xref c c-macro docutils literal"><span class="pre">nghttp2_error</span></tt></a> and indicates the error. The
<em>user_data</em> pointer is the third argument passed in to the call to
<a class="reference internal" href="#nghttp2_session_client_new" title="nghttp2_session_client_new"><tt class="xref c c-func docutils literal"><span class="pre">nghttp2_session_client_new()</span></tt></a> or <a class="reference internal" href="#nghttp2_session_server_new" title="nghttp2_session_server_new"><tt class="xref c c-func docutils literal"><span class="pre">nghttp2_session_server_new()</span></tt></a>.</p>
<p>The implementation of this function must return 0 if it
succeeds. If nonzero is returned, it is treated as fatal error and
<a class="reference internal" href="#nghttp2_session_recv" title="nghttp2_session_recv"><tt class="xref c c-func docutils literal"><span class="pre">nghttp2_session_recv()</span></tt></a> and <a class="reference internal" href="#nghttp2_session_send" title="nghttp2_session_send"><tt class="xref c c-func docutils literal"><span class="pre">nghttp2_session_send()</span></tt></a> functions
immediately return <a class="reference internal" href="#NGHTTP2_ERR_CALLBACK_FAILURE" title="NGHTTP2_ERR_CALLBACK_FAILURE"><tt class="xref c c-macro docutils literal"><span class="pre">NGHTTP2_ERR_CALLBACK_FAILURE</span></tt></a>.</p>
</dd></dl>
<dl class="type">
<dt id="nghttp2_on_unknown_frame_recv_callback">
typedef int <tt class="descname">(*nghttp2_on_unknown_frame_recv_callback)</tt><big>(</big><a class="reference internal" href="#nghttp2_session" title="nghttp2_session">nghttp2_session</a><em>&nbsp;*session</em>, const uint8_t<em>&nbsp;*head</em>, size_t<em>&nbsp;headlen</em>, const uint8_t<em>&nbsp;*payload</em>, size_t<em>&nbsp;payloadlen</em>, void<em>&nbsp;*user_data</em><big>)</big><a class="headerlink" href="#nghttp2_on_unknown_frame_recv_callback" title="Permalink to this definition"></a></dt>
@ -1635,13 +1621,6 @@ because of an error.</p>
received.</p>
</dd></dl>
<dl class="member">
<dt id="nghttp2_session_callbacks.nghttp2_on_frame_recv_parse_error_callback">
<tt class="descname">nghttp2_on_frame_recv_parse_error_callback</tt><a class="headerlink" href="#nghttp2_session_callbacks.nghttp2_on_frame_recv_parse_error_callback" title="Permalink to this definition"></a></dt>
<dd><p>Callback function invoked when the received non-DATA frame octets
could not be parsed correctly.</p>
</dd></dl>
<dl class="member">
<dt id="nghttp2_session_callbacks.on_unknown_frame_recv_callback">
<a class="reference internal" href="#nghttp2_on_unknown_frame_recv_callback" title="nghttp2_on_unknown_frame_recv_callback">nghttp2_on_unknown_frame_recv_callback</a> <tt class="descname">on_unknown_frame_recv_callback</tt><a class="headerlink" href="#nghttp2_session_callbacks.on_unknown_frame_recv_callback" title="Permalink to this definition"></a></dt>
@ -1881,9 +1860,6 @@ is invoked.</li>
invalid,
<a class="reference internal" href="#nghttp2_session_callbacks.on_invalid_frame_recv_callback" title="nghttp2_session_callbacks.on_invalid_frame_recv_callback"><tt class="xref c c-member docutils literal"><span class="pre">nghttp2_session_callbacks.on_invalid_frame_recv_callback</span></tt></a>
is invoked.</li>
<li>If the received frame could not be unpacked correctly,
<tt class="xref c c-member docutils literal"><span class="pre">nghttp2_session_callbacks.on_frame_recv_parse_error_callback</span></tt>
is invoked.</li>
<li>If the received frame type is unknown,
<a class="reference internal" href="#nghttp2_session_callbacks.on_unknown_frame_recv_callback" title="nghttp2_session_callbacks.on_unknown_frame_recv_callback"><tt class="xref c c-member docutils literal"><span class="pre">nghttp2_session_callbacks.on_unknown_frame_recv_callback</span></tt></a>
is invoked.</li>

View File

@ -167,6 +167,10 @@
</dt>
<dt><a href="apiref.html#NGHTTP2_CONTINUATION">NGHTTP2_CONTINUATION (C macro)</a>
</dt>
<dt><a href="apiref.html#NGHTTP2_DATA">NGHTTP2_DATA (C macro)</a>
</dt>
@ -610,6 +614,8 @@
<dt><a href="apiref.html#nghttp2_on_data_send_callback">nghttp2_on_data_send_callback (C type)</a>
</dt>
</dl></td>
<td style="width: 33%" valign="top"><dl>
<dt><a href="apiref.html#nghttp2_on_end_headers_callback">nghttp2_on_end_headers_callback (C type)</a>
</dt>
@ -618,17 +624,11 @@
<dt><a href="apiref.html#nghttp2_on_frame_not_send_callback">nghttp2_on_frame_not_send_callback (C type)</a>
</dt>
</dl></td>
<td style="width: 33%" valign="top"><dl>
<dt><a href="apiref.html#nghttp2_on_frame_recv_callback">nghttp2_on_frame_recv_callback (C type)</a>
</dt>
<dt><a href="apiref.html#nghttp2_on_frame_recv_parse_error_callback">nghttp2_on_frame_recv_parse_error_callback (C type)</a>
</dt>
<dt><a href="apiref.html#nghttp2_on_frame_send_callback">nghttp2_on_frame_send_callback (C type)</a>
</dt>
@ -805,10 +805,6 @@
</dt>
<dt><a href="apiref.html#nghttp2_session_callbacks.nghttp2_on_frame_recv_parse_error_callback">nghttp2_session_callbacks.nghttp2_on_frame_recv_parse_error_callback (C member)</a>
</dt>
<dt><a href="apiref.html#nghttp2_session_callbacks.on_data_chunk_recv_callback">nghttp2_session_callbacks.on_data_chunk_recv_callback (C member)</a>
</dt>

View File

@ -502,7 +502,11 @@
<span class="cm">/**</span>
<span class="cm"> * The WINDOW_UPDATE frame.</span>
<span class="cm"> */</span>
<span class="n">NGHTTP2_WINDOW_UPDATE</span> <span class="o">=</span> <span class="mi">9</span>
<span class="n">NGHTTP2_WINDOW_UPDATE</span> <span class="o">=</span> <span class="mi">9</span><span class="p">,</span>
<span class="cm">/**</span>
<span class="cm"> * The CONTINUATION frame.</span>
<span class="cm"> */</span>
<span class="n">NGHTTP2_CONTINUATION</span> <span class="o">=</span> <span class="mi">10</span>
<span class="p">}</span> <span class="n">nghttp2_frame_type</span><span class="p">;</span>
<span class="cm">/**</span>
@ -638,7 +642,11 @@
<span class="cm">/**</span>
<span class="cm"> * The length field of this frame, excluding frame header.</span>
<span class="cm"> */</span>
<span class="kt">uint16_t</span> <span class="n">length</span><span class="p">;</span>
<span class="kt">size_t</span> <span class="n">length</span><span class="p">;</span>
<span class="cm">/**</span>
<span class="cm"> * The stream identifier (aka, stream ID)</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 type of this frame. See `nghttp2_frame`.</span>
<span class="cm"> */</span>
@ -647,10 +655,6 @@
<span class="cm"> * The flags.</span>
<span class="cm"> */</span>
<span class="kt">uint8_t</span> <span class="n">flags</span><span class="p">;</span>
<span class="cm">/**</span>
<span class="cm"> * The stream identifier (aka, stream ID)</span>
<span class="cm"> */</span>
<span class="kt">int32_t</span> <span class="n">stream_id</span><span class="p">;</span>
<span class="p">}</span> <span class="n">nghttp2_frame_hd</span><span class="p">;</span>
@ -1206,33 +1210,6 @@
<span class="k">typedef</span> <span class="nf">int</span> <span class="p">(</span><span class="o">*</span><span class="n">nghttp2_on_request_recv_callback</span><span class="p">)</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">int32_t</span> <span class="n">stream_id</span><span class="p">,</span> <span class="kt">void</span> <span class="o">*</span><span class="n">user_data</span><span class="p">);</span>
<span class="cm">/**</span>
<span class="cm"> * @functypedef</span>
<span class="cm"> *</span>
<span class="cm"> * Callback function invoked when the received control frame octets</span>
<span class="cm"> * could not be parsed correctly. The |type| indicates the type of</span>
<span class="cm"> * received non-DATA frame. The |head| is the pointer to the header of</span>
<span class="cm"> * the received frame. The |headlen| is the length of the</span>
<span class="cm"> * |head|. According to the spec, the |headlen| is always 8. In other</span>
<span class="cm"> * words, the |head| is the first 8 bytes of the received frame. The</span>
<span class="cm"> * |payload| is the pointer to the data portion of the received frame.</span>
<span class="cm"> * The |payloadlen| is the length of the |payload|. This is the data</span>
<span class="cm"> * after the length field. The |lib_error_code| is one of the error</span>
<span class="cm"> * code defined in :enum:`nghttp2_error` and indicates the error. The</span>
<span class="cm"> * |user_data| pointer is the third argument passed in to the call to</span>
<span class="cm"> * `nghttp2_session_client_new()` or `nghttp2_session_server_new()`.</span>
<span class="cm"> *</span>
<span class="cm"> * The implementation of this function must return 0 if it</span>
<span class="cm"> * succeeds. If nonzero is returned, it is treated as fatal error and</span>
<span class="cm"> * `nghttp2_session_recv()` and `nghttp2_session_send()` functions</span>
<span class="cm"> * immediately return :enum:`NGHTTP2_ERR_CALLBACK_FAILURE`.</span>
<span class="cm"> */</span>
<span class="k">typedef</span> <span class="nf">int</span> <span class="p">(</span><span class="o">*</span><span class="n">nghttp2_on_frame_recv_parse_error_callback</span><span class="p">)</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="n">nghttp2_frame_type</span> <span class="n">type</span><span class="p">,</span>
<span class="k">const</span> <span class="kt">uint8_t</span> <span class="o">*</span><span class="n">head</span><span class="p">,</span> <span class="kt">size_t</span> <span class="n">headlen</span><span class="p">,</span>
<span class="k">const</span> <span class="kt">uint8_t</span> <span class="o">*</span><span class="n">payload</span><span class="p">,</span> <span class="kt">size_t</span> <span class="n">payloadlen</span><span class="p">,</span>
<span class="kt">int</span> <span class="n">lib_error_code</span><span class="p">,</span> <span class="kt">void</span> <span class="o">*</span><span class="n">user_data</span><span class="p">);</span>
<span class="cm">/**</span>
<span class="cm"> * @functypedef</span>
<span class="cm"> *</span>
@ -1382,12 +1359,6 @@
<span class="cm"> */</span>
<span class="n">nghttp2_on_request_recv_callback</span> <span class="n">on_request_recv_callback</span><span class="p">;</span>
<span class="cm">/**</span>
<span class="cm"> * Callback function invoked when the received non-DATA frame octets</span>
<span class="cm"> * could not be parsed correctly.</span>
<span class="cm"> */</span>
<span class="n">nghttp2_on_frame_recv_parse_error_callback</span>
<span class="n">on_frame_recv_parse_error_callback</span><span class="p">;</span>
<span class="cm">/**</span>
<span class="cm"> * Callback function invoked when the received frame type is</span>
<span class="cm"> * unknown.</span>
<span class="cm"> */</span>
@ -1670,10 +1641,7 @@
<span class="cm"> * invalid,</span>
<span class="cm"> * :member:`nghttp2_session_callbacks.on_invalid_frame_recv_callback`</span>
<span class="cm"> * is invoked.</span>
<span class="cm"> * 4. If the received frame could not be unpacked correctly,</span>
<span class="cm"> * :member:`nghttp2_session_callbacks.on_frame_recv_parse_error_callback`</span>
<span class="cm"> * is invoked.</span>
<span class="cm"> * 5. If the received frame type is unknown,</span>
<span class="cm"> * 4. If the received frame type is unknown,</span>
<span class="cm"> * :member:`nghttp2_session_callbacks.on_unknown_frame_recv_callback`</span>
<span class="cm"> * is invoked.</span>
<span class="cm"> *</span>

Binary file not shown.

View File

@ -175,7 +175,7 @@ header compression
<td>Done</td>
</tr>
<tr class="row-even"><td>Header Continuation</td>
<td>&nbsp;</td>
<td>Done</td>
</tr>
<tr class="row-odd"><td>ALPN</td>
<td>Done</td>
@ -189,8 +189,8 @@ header compression
implementation. These endpoints supports <tt class="docutils literal"><span class="pre">HTTP-draft-09/2.0</span></tt> and
the earlier draft versions are not supporeted.</p>
<ul>
<li><p class="first"><a class="reference external" href="https://106.186.112.116">https://106.186.112.116</a> (TLS + NPN)</p>
<p>NPN offers <tt class="docutils literal"><span class="pre">HTTP-draft-09/2.0</span></tt>, <tt class="docutils literal"><span class="pre">spdy/3.1</span></tt>, <tt class="docutils literal"><span class="pre">spdy/3</span></tt>,
<li><p class="first"><a class="reference external" href="https://106.186.112.116">https://106.186.112.116</a> (TLS + NPN + ALPN)</p>
<p>ALPN and NPN offer <tt class="docutils literal"><span class="pre">HTTP-draft-09/2.0</span></tt>, <tt class="docutils literal"><span class="pre">spdy/3.1</span></tt>, <tt class="docutils literal"><span class="pre">spdy/3</span></tt>,
<tt class="docutils literal"><span class="pre">spdy/2</span></tt> and <tt class="docutils literal"><span class="pre">http/1.1</span></tt>.</p>
<p>Note: certificate is self-signed and a browser will show alert</p>
</li>

File diff suppressed because one or more lines are too long