Commit Graph

32 Commits

Author SHA1 Message Date
Tatsuhiro Tsujikawa d56ecd7414 Add nghttp2_session_consume_{connection,stream} to consume bytes independently
The existing nghttp2_session_consume() affects both connection and
stream level flow control windows.  The new functions only affects
either connection or stream.  There is some interesting use cases.
For example, we may want to pause a stream by not sending
WINDOW_UPDATE, meanwhile we want to continue to process other streams.
In this case, we use nghttp2_session_consume_connection() to tell
library that only connection level window is recovered.  The relevant
discussion: https://code.google.com/p/chromium/issues/detail?id=473259
2015-04-07 00:14:18 +09:00
Tatsuhiro Tsujikawa 9eff511c5e Add nghttp2_send_data_callback to send DATA payload without copying
To avoid buffer copy in nghttp2_data_source_read_callback, this commit
introduces NGHTTP2_DATA_FLAG_NO_COPY and nghttp2_send_data_callback.
By using NGHTTP2_DATA_FLAG_NO_COPY in
nghttp2_data_source_read_callback, application can avoid to copy
application data to given buffer.  Instead, application has to
implement nghttp2_send_data_callback to send complete DATA frame by
itself.  We see noticeable performance increase in nghttpd and
tiny-nghttpd using this new feature.  On the other hand, nghttpx does
not show such difference, probably because buffer copy is not
bottleneck.  Using nghttp2_send_data_callback adds complexity, so it
is recommended to measure the performance to see whether this extra
complexity worth it.
2015-04-04 21:23:50 +09:00
Tatsuhiro Tsujikawa 87029e05af doc: Split API reference into smaller fine grained files
Previously API reference is gigantic one rst file and it is a bit hard
to use, especially when browsing similar functions.  This commit
splits API reference into smaller fine grained files.  The macros,
enums, types are now in its own file.  Each API function has its own
file now.  API reference doc is now index to above documentation
files.  The apiref-header.rst is renamed as programmers-guide.rst and
becomes standalone document.
2015-04-01 01:13:10 +09:00
Tatsuhiro Tsujikawa a8889971db doc: Make html rule html-local 2015-02-15 12:18:13 +09:00
Tatsuhiro Tsujikawa 1fbaae837c Sort sphix theme files 2015-02-15 12:13:36 +09:00
Tatsuhiro Tsujikawa e8c294b701 Add bash_completion files for nghttp, nghttpd, nghttpx and h2load 2015-02-15 12:05:27 +09:00
Tatsuhiro Tsujikawa a3dcf1e004 Produce man pages using sphinx
Previously to create manual page for bundled programs, we use help2man
to create man page from program's help output.  Then our man2rst.py
script converts man page to rst document.  Sphinx generates html from
rst documents.

Now help2rst.py produces rst document from programs output.  We use
Sphinx solely to produce both man pages and html files.
2015-01-10 00:37:42 +09:00
Tatsuhiro Tsujikawa 0a406eab94 Add contribution guidelines 2014-11-27 23:56:29 +09:00
Tatsuhiro Tsujikawa 83728219db Update doc 2014-09-24 00:45:40 +09:00
Tatsuhiro Tsujikawa 2b4bd57c7f doc: Add building-android-binary document 2014-08-17 19:15:19 +09:00
Tatsuhiro Tsujikawa 25326b40db doc: Generate HTML version manual page from manpage 2014-07-09 00:38:43 +09:00
Tatsuhiro Tsujikawa a7501609e8 doc: Fix python-apiref.rst is not generated in distribution 2014-06-29 23:57:18 +09:00
Tatsuhiro Tsujikawa 8235bb136b doc: Add HPACK API tutorial 2014-06-29 23:45:49 +09:00
Tatsuhiro Tsujikawa 451c7d957d doc: Add h2load-howto.rst 2014-06-27 00:05:49 +09:00
Tatsuhiro Tsujikawa 6a70584459 doc: Add h2load man page 2014-05-10 00:19:57 +09:00
Tatsuhiro Tsujikawa 1d5a1b895b doc: Use autoconf template nghttpx-howto.rst.in properly 2014-04-20 23:42:15 +09:00
Tatsuhiro Tsujikawa ab2dc5967d Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
Tatsuhiro Tsujikawa f25545b2db Fix doc EXTRA_DIST to include source .rst files
Also erase generated .rst files on `make clean`.
2014-02-15 17:49:32 +09:00
Tatsuhiro Tsujikawa a8ed200a20 doc: Add man pages for nghttp, nghttpd and nghttpx
Patch from Dave Beckett
2014-02-15 16:46:11 +09:00
Tatsuhiro Tsujikawa 01ca4373a1 Out-of-tree build for sphinx documents
The only drawback is that page source only contains include
directive. We disabled page source for now.
2014-02-13 23:44:54 +09:00
Tatsuhiro Tsujikawa cdcea8045f Include doc theme without recursive Makefiles 2014-02-09 17:40:06 +09:00
Tatsuhiro Tsujikawa d495451795 Add missing nghttp2.h.rst and nghttp2ver.h.rst to EXTRA_DIST 2014-02-08 16:37:48 +09:00
Tatsuhiro Tsujikawa 128eb61238 Include sphinx_rtd_theme to distribution
Patch from Dave Beckett
2014-02-08 16:29:18 +09:00
Tatsuhiro Tsujikawa c230f4ff97 doc: Fix EXTRA_DIST 2014-01-11 00:21:57 +09:00
Tatsuhiro Tsujikawa 0921e364d7 doc: Add server tutorial, which is still in draft status 2013-12-26 23:37:42 +09:00
Tatsuhiro Tsujikawa 3c63936d3a Fix error on `make distcheck` 2013-12-15 16:36:43 +09:00
Dave Reisner c53502a261 Play nicely with py3k for building docs
Previously, mkapiref.py required python2.6, as it used format strings,
but continued to use print as a keyword, not a function. But, since 2.6
is implicitly made a requirement, we can also count on print being
available as a function.

This change adds python2.6 as a soft requirement during ./configure,
and converts all print keywords to statements. There's no need to do
anything about the actual building of the doc since sphinx-build can
run under python2 and python3.

The net result is that it no longer matters whether 'python' points to
python2 or python3 (see PEP394), because both will be able to run
mkapiref.py successfully.
2013-09-07 09:48:36 -04:00
Tatsuhiro Tsujikawa 0edce70343 Rebranding nghttp2 2013-07-13 00:43:06 +09:00
Tatsuhiro Tsujikawa 7b3d24bcc5 Don't install default2.css menu.html 2013-02-02 20:54:54 +09:00
Tatsuhiro Tsujikawa bcf566a2f4 doc: Fix packaging and customize theme 2013-02-02 18:52:09 +09:00
Tatsuhiro Tsujikawa 7b239cc7b0 Packaging fix 2012-04-25 22:27:50 +09:00
Tatsuhiro Tsujikawa 07b02404c3 Added API reference generator script.
Formatted the public APIs with Sphinx syntax.
2012-03-14 00:32:52 +09:00