From 60d0cb29d310c1bf5af38fca58c4a0c7ed498101 Mon Sep 17 00:00:00 2001 From: liuhan Date: Mon, 26 Sep 2016 20:44:42 +0800 Subject: [PATCH 1/6] components/expat: add expat library description add XML instruction, see expat file. --- components/expat/expat.rst | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 components/expat/expat.rst diff --git a/components/expat/expat.rst b/components/expat/expat.rst new file mode 100644 index 000000000..ee095d5ea --- /dev/null +++ b/components/expat/expat.rst @@ -0,0 +1,22 @@ +The Expat XML Parse Instruction +============================= + +Expat is an XML parser library written in C which be used for parse XML documents. + +It is a stream-oriented parser in which an application registers handlers for things the parser might find in the XML document. + +It can parse some larger files. + +- Expat XML Parser Support many different processor, But for the most part function you only need four function as follows: + + *XML_ParserCreate:* Create a new parser object + + *XML_SetElementHandler:* Set handlers for start and end tags + + *XML_SetCharacterDataHandler:* Set handler for text + + *XML_Parse:* Pass a buffer full of document to the parser + +More information about Expat library will show them on http://expat.sourceforge.net + +An introductory article on using Expat is available on http://xml.com From bee7f5e4554395b7f8453a02b5fef9de5fad417e Mon Sep 17 00:00:00 2001 From: liuhan Date: Mon, 26 Sep 2016 20:49:06 +0800 Subject: [PATCH 2/6] components/nghttp: add nghttp library description add HTTP/2 instruction, see nghttp file. --- components/nghttp/nghttp.rst | 44 ++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 components/nghttp/nghttp.rst diff --git a/components/nghttp/nghttp.rst b/components/nghttp/nghttp.rst new file mode 100644 index 000000000..45297d16d --- /dev/null +++ b/components/nghttp/nghttp.rst @@ -0,0 +1,44 @@ +The nghttp Instruction +============================= + +This is an implementation of the Hypertext Transfer Protocol version 2 in C. + +The framing layer of HTTP/2 is implemented as a reusable C library. + +An HPACK encoder and decoder are available as a public API. + +- The nghttp support many different processor, But for the most part function you only need the function as follows: + + *nghttp2_session_callbacks_new:* Initializes *callbacks_ptr with NULL values + + *nghttp2_session_client_new:* Initializes *session_ptr for client use + + *nghttp2_session_callbacks_del:* Frees any resources allocated for callbacks + + *nghttp2_submit_settings:* Stores local settings and submits SETTINGS frame + + *nghttp2_submit_request:* Submits HEADERS frame and optionally one or more DATA frames + + *nghttp2_session_want_read:* Returns nonzero value if session wants to receive data from the remote peer + + *nghttp2_session_want_write:* Returns nonzero value if session wants to send data to the remote peer + + *nghttp2_session_recv:* Receives frames from the remote peer + + *nghttp2_session_send:* Sends pending frames to the remote peer + + *nghttp2_session_del:* Frees any resources allocated for session + +If you are following TLS related RFC, you know that NPN is not the standardized way to negotiate HTTP/2. NPN itself is not event published as RFC. + +The standard way to negotiate HTTP/2 is ALPN, Application-Layer Protocol Negotiation Extension, defined in RFC 7301. + +- The following endpoints are available to try out the nghttp2 implementation: + + https://nghttp2.org/ (TLS + ALPN/NPN) + + This endpoint supports h2, h2-16, h2-14, spdy/3.1 and http/1.1 via ALPN/NPN and requires TLSv1.2 for HTTP/2 connection. + +More information about nghttp library will show them on https://nghttp2.org + +An introductory article on protocol is available on RFC 7540 HTTP/2 and RFC 7541 HPACK - Header Compression for HTTP/2 From b366d5b1e71bf0f516b46da5399e0ec1c4635399 Mon Sep 17 00:00:00 2001 From: liuhan Date: Wed, 28 Sep 2016 10:10:36 +0800 Subject: [PATCH 3/6] components/expat: a few grammar fixes modify a few grammar, see expat.rst file. --- components/expat/expat.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/expat/expat.rst b/components/expat/expat.rst index ee095d5ea..75c6bcaf8 100644 --- a/components/expat/expat.rst +++ b/components/expat/expat.rst @@ -7,7 +7,7 @@ It is a stream-oriented parser in which an application registers handlers for th It can parse some larger files. -- Expat XML Parser Support many different processor, But for the most part function you only need four function as follows: +- Expat XML Parser support many different processor, but for the most part function you only need the following functions: *XML_ParserCreate:* Create a new parser object @@ -17,6 +17,6 @@ It can parse some larger files. *XML_Parse:* Pass a buffer full of document to the parser -More information about Expat library will show them on http://expat.sourceforge.net +More information about Expat library can be found on http://expat.sourceforge.net An introductory article on using Expat is available on http://xml.com From 89bc31e15865383827cfb97ec62f0bd704304904 Mon Sep 17 00:00:00 2001 From: liuhan Date: Wed, 28 Sep 2016 10:18:15 +0800 Subject: [PATCH 4/6] components/nghttp: a few grammar fixes modify a few grammar, see nghttp.rst file. --- components/nghttp/nghttp.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/nghttp/nghttp.rst b/components/nghttp/nghttp.rst index 45297d16d..77988a2a7 100644 --- a/components/nghttp/nghttp.rst +++ b/components/nghttp/nghttp.rst @@ -7,7 +7,7 @@ The framing layer of HTTP/2 is implemented as a reusable C library. An HPACK encoder and decoder are available as a public API. -- The nghttp support many different processor, But for the most part function you only need the function as follows: +- The nghttp support many different processor, but for the most part you only need the following functions: *nghttp2_session_callbacks_new:* Initializes *callbacks_ptr with NULL values @@ -29,7 +29,7 @@ An HPACK encoder and decoder are available as a public API. *nghttp2_session_del:* Frees any resources allocated for session -If you are following TLS related RFC, you know that NPN is not the standardized way to negotiate HTTP/2. NPN itself is not event published as RFC. +If you are following TLS related RFC, you know that NPN is not the standardized way to negotiate HTTP/2. NPN itself is not even published as RFC. The standard way to negotiate HTTP/2 is ALPN, Application-Layer Protocol Negotiation Extension, defined in RFC 7301. @@ -39,6 +39,6 @@ The standard way to negotiate HTTP/2 is ALPN, Application-Layer Protocol Negotia This endpoint supports h2, h2-16, h2-14, spdy/3.1 and http/1.1 via ALPN/NPN and requires TLSv1.2 for HTTP/2 connection. -More information about nghttp library will show them on https://nghttp2.org +More information about nghttp library can be found at https://nghttp2.org An introductory article on protocol is available on RFC 7540 HTTP/2 and RFC 7541 HPACK - Header Compression for HTTP/2 From 9eb29ab43e49391af6b393861aac2bd28a7fe0e7 Mon Sep 17 00:00:00 2001 From: Wu Jian Gang Date: Wed, 28 Sep 2016 13:50:34 +0800 Subject: [PATCH 5/6] components/nghttp: just change format of nghttp.rst preview will be better. --- components/nghttp/nghttp.rst | 40 ++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/components/nghttp/nghttp.rst b/components/nghttp/nghttp.rst index 77988a2a7..21dd697bf 100644 --- a/components/nghttp/nghttp.rst +++ b/components/nghttp/nghttp.rst @@ -1,39 +1,39 @@ The nghttp Instruction ============================= - + This is an implementation of the Hypertext Transfer Protocol version 2 in C. The framing layer of HTTP/2 is implemented as a reusable C library. An HPACK encoder and decoder are available as a public API. -- The nghttp support many different processor, but for the most part you only need the following functions: +- The nghttp support many different processor, but for the most part you only need the following functions: - *nghttp2_session_callbacks_new:* Initializes *callbacks_ptr with NULL values + **nghttp2_session_callbacks_new**: Initializes \*callbacks_ptr with NULL values - *nghttp2_session_client_new:* Initializes *session_ptr for client use + **nghttp2_session_client_new**: Initializes \*session_ptr for client use - *nghttp2_session_callbacks_del:* Frees any resources allocated for callbacks + **nghttp2_session_callbacks_del**: Frees any resources allocated for callbacks + + **nghttp2_submit_settings**: Stores local settings and submits SETTINGS frame + + **nghttp2_submit_request**: Submits HEADERS frame and optionally one or more DATA frames + + **nghttp2_session_want_read**: Returns nonzero value if session wants to receive data from the remote peer + + **nghttp2_session_want_write**: Returns nonzero value if session wants to send data to the remote peer + + **nghttp2_session_recv**: Receives frames from the remote peer + + **nghttp2_session_send**: Sends pending frames to the remote peer + + **nghttp2_session_del**: Frees any resources allocated for session - *nghttp2_submit_settings:* Stores local settings and submits SETTINGS frame - - *nghttp2_submit_request:* Submits HEADERS frame and optionally one or more DATA frames - - *nghttp2_session_want_read:* Returns nonzero value if session wants to receive data from the remote peer - - *nghttp2_session_want_write:* Returns nonzero value if session wants to send data to the remote peer - - *nghttp2_session_recv:* Receives frames from the remote peer - - *nghttp2_session_send:* Sends pending frames to the remote peer - - *nghttp2_session_del:* Frees any resources allocated for session - If you are following TLS related RFC, you know that NPN is not the standardized way to negotiate HTTP/2. NPN itself is not even published as RFC. The standard way to negotiate HTTP/2 is ALPN, Application-Layer Protocol Negotiation Extension, defined in RFC 7301. -- The following endpoints are available to try out the nghttp2 implementation: +- The following endpoints are available to try out the nghttp2 implementation: https://nghttp2.org/ (TLS + ALPN/NPN) From 83ea5be9a21faa7d9b4167e45f9ba12900356c59 Mon Sep 17 00:00:00 2001 From: Wu Jian Gang Date: Wed, 28 Sep 2016 13:53:38 +0800 Subject: [PATCH 6/6] components/expat: just change format of expat.rst preview will be better. --- components/expat/expat.rst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/components/expat/expat.rst b/components/expat/expat.rst index 75c6bcaf8..9e681229e 100644 --- a/components/expat/expat.rst +++ b/components/expat/expat.rst @@ -1,21 +1,21 @@ The Expat XML Parse Instruction ============================= - + Expat is an XML parser library written in C which be used for parse XML documents. It is a stream-oriented parser in which an application registers handlers for things the parser might find in the XML document. - + It can parse some larger files. - + - Expat XML Parser support many different processor, but for the most part function you only need the following functions: - *XML_ParserCreate:* Create a new parser object + **XML_ParserCreate**: Create a new parser object - *XML_SetElementHandler:* Set handlers for start and end tags + **XML_SetElementHandler**: Set handlers for start and end tags - *XML_SetCharacterDataHandler:* Set handler for text + **XML_SetCharacterDataHandler**: Set handler for text - *XML_Parse:* Pass a buffer full of document to the parser + **XML_Parse**: Pass a buffer full of document to the parser More information about Expat library can be found on http://expat.sourceforge.net