Tatsuhiro Tsujikawa
7e217511bf
nghttpx: Code cleanup
...
Mainly make nested code block to rather flat style.
2014-06-01 23:44:32 +09:00
Tatsuhiro Tsujikawa
8c67bbe3a8
src: Avoid copy in evbuffer_pullup()
...
Previously, we use evbuffer_pullup(buf, -1) to linearize the memory
region and it may cause buffer copy. To avoid this, we use the return
value of evbuffer_get_contiguous_space() as 2nd parameter. According
to the libevent manual, by doing so evbuffer_pullup() will not copy or
modify any data in evbuffer.
2014-06-01 21:01:01 +09:00
Tatsuhiro Tsujikawa
cc250386df
nghttpx: Lower read watermark
2014-06-01 02:32:26 +09:00
Tatsuhiro Tsujikawa
3b7c733246
nghttpx: Fix typo
2014-06-01 02:32:15 +09:00
Tatsuhiro Tsujikawa
7e5567341f
nghttpx: Set timeout to underlying bufferevent
...
Setting write timeout to filter bufferevent does not work as intended.
It timeouts even when there is no data to write.
2014-06-01 02:25:23 +09:00
Tatsuhiro Tsujikawa
4f7223e89f
Add note to manual how to submit frames to new stream ID
2014-05-31 22:01:18 +09:00
Tatsuhiro Tsujikawa
88b69bb669
Reduce huffman decoding table
...
Previously we have uint16_t as state member variable in
nghttp2_huff_decode structure to express -1 as failure. This is
because we have 256 valid states. However, we can express failed
state using flags member variable and make state uint8_t. This commit
does this and as a result the size of decoding table is reduced.
2014-05-31 00:19:30 +09:00
Tatsuhiro Tsujikawa
7a797b2c11
nghttpx: Reduce socket I/O buffer size
2014-05-29 22:24:15 +09:00
Tatsuhiro Tsujikawa
832f2fc00f
Call on_data_chunk_recv_callback only when stream is active
2014-05-29 22:18:52 +09:00
Tatsuhiro Tsujikawa
d113055899
nghttp2_hd: Use single buffer for an name/value pair
...
Previously we use 2 separate buffer for each name and value. The
problem is we would waste buffer space for name because it is usually
small. Also tuning buffer size for each buffer separately is not
elegant and current HTTP server practice is that one buffer for 1
name/value pair. This commit unifies 2 buffers into 1.
2014-05-28 23:33:37 +09:00
Tatsuhiro Tsujikawa
53e75ff0d0
Merge branch 'travis' of https://github.com/alagoutte/nghttp2 into alagoutte-travis
2014-05-28 23:26:02 +09:00
Alexis La Goutte
3921af434a
Add .travis.yml to get build by Travis-ci (Github)
...
Use gcc-4.8 (don't build with gcc-4.6)
Update libstdc++-4.8 to fix Clang build
Don't install cython (Never build...)
2014-05-28 15:52:16 +02:00
Tatsuhiro Tsujikawa
5e6a2fa256
Assert ctx->state >= 0 in huffman decoding
2014-05-28 00:30:11 +09:00
Tatsuhiro Tsujikawa
86ab9f33de
nghttpx: Fix regression bug that frame with stream_id = 0 not handled
2014-05-28 00:26:27 +09:00
Tatsuhiro Tsujikawa
d844b0acd0
h2load: Use std::async to dispatch parallel jobs
2014-05-26 23:29:28 +09:00
Tatsuhiro Tsujikawa
d733c87567
Make state in nghttp2_hd_huff_decode_context int16_t to make compiler happy
2014-05-26 21:50:54 +09:00
Tatsuhiro Tsujikawa
589d3e71a3
Merge branch 'misc' of https://github.com/alagoutte/nghttp2 into alagoutte-misc
2014-05-26 21:48:30 +09:00
Alexis La Goutte
db354b228a
Remove unused include (stdint.h)
2014-05-26 08:58:15 +02:00
Tatsuhiro Tsujikawa
1fa5852f8f
nghttpx: Treat '*' in <HOST> parameter of --frontend as wildcard explicitly
...
It seems that specifyig '*' to node parameter in getaddrinfo() is
treated as specifying NULL, but it is not documented. So rather than
relying on this feature, we explicitly treat '*' as "wildcard" address
and specify NULL to node parameter in getaddrinfo().
Now '*,3000' is a default value of --frontend option. Specyfing '*'
binds all addresses including both IPv4 and IPv6.
2014-05-25 16:15:48 +09:00
Tatsuhiro Tsujikawa
ebf0e4d787
nghttpd, nghttpx: Check END_STREAM flag in HEADERS other than request
2014-05-24 15:02:46 +09:00
Tatsuhiro Tsujikawa
9677788317
Don't count closed streams in nghttp2_session_want_{read,write}
2014-05-23 22:23:38 +09:00
Tatsuhiro Tsujikawa
78a55935ac
Define constant for the length of priority related fields
2014-05-22 21:41:43 +09:00
Tatsuhiro Tsujikawa
2aa84019c7
Define constants for ALTSVC frame parsing
2014-05-22 21:36:12 +09:00
Tatsuhiro Tsujikawa
6d942dc0a6
Update doc
2014-05-21 23:01:21 +09:00
Tatsuhiro Tsujikawa
d408ee1783
Update doc
...
We are currently disabled ALPN in nghttp2.org
2014-05-21 23:00:01 +09:00
Tatsuhiro Tsujikawa
672ad82849
nghttpx: Clarify that --npn-list is used in both ALPN and NPN
2014-05-21 21:28:58 +09:00
Tatsuhiro Tsujikawa
896717f5d4
nghttpx: Make --npn-list option work in ALPN
...
Previously --npn-list option is ignored in ALPN protocol selection
callback. This change fixes this issue.
2014-05-21 21:16:44 +09:00
Tatsuhiro Tsujikawa
eba2825286
Handle the case where jemalloc is available without linking extra library
2014-05-18 19:38:33 +09:00
Tatsuhiro Tsujikawa
a4a06947a5
Update doc
2014-05-17 22:20:48 +09:00
Tatsuhiro Tsujikawa
e54e86375b
Bump up version number to 0.5.0-DEV
2014-05-17 00:14:07 +09:00
Tatsuhiro Tsujikawa
453e12cd1f
Update man pages
2014-05-16 23:54:09 +09:00
Tatsuhiro Tsujikawa
de5c821530
Bump up version number to 0.4.0, LT revision to 3:0:0
2014-05-16 23:51:32 +09:00
Tatsuhiro Tsujikawa
1ac028e166
Take into account that pending_local_max_concurrent_stream could be too large
...
pending_local_max_concurrent_stream is, once local settings applied,
becomes NGHTTP2_INITIAL_MAX_CONCURRENT_STREAMS, which is very large
number. When adjusting number of streams, we have to take min of
local effective SETTINGS_MAX_CONCURRENT_STREAMS and pending one.
2014-05-16 22:32:08 +09:00
Tatsuhiro Tsujikawa
2778e4aafc
Remove useless debug code in nghttp2_stream_roots_add()
2014-05-16 22:30:59 +09:00
Tatsuhiro Tsujikawa
3f80472e0a
nghttpx: Minor tweak to buffer size
...
Simplified when to send WINDOW_UPDATE to the backend, that is we send
WINDOW_UPDATE when input buffer is empty.
2014-05-16 21:42:30 +09:00
Tatsuhiro Tsujikawa
ec30af9117
Update sphinx_rtd_theme to 54a48b1726ed602c9b5416ee46c639462ec315fe
2014-05-16 00:36:06 +09:00
Tatsuhiro Tsujikawa
3b5b5ce254
Update http-parser to 8d9e5db981b623fffc93657abacdc80270cbee58
2014-05-16 00:23:03 +09:00
Tatsuhiro Tsujikawa
694cd07f1d
nghttpx: Remove Connection: close header field from CONNECT response
...
It appears that some Android client does not like Connection: close in
200 CONNECT response. Browsers fine with this header field. It is
better to remove it. Squid does not emit it too.
2014-05-15 23:45:17 +09:00
Tatsuhiro Tsujikawa
5e71f293e5
Update nghttp and nghttpd example output
2014-05-15 00:27:24 +09:00
Tatsuhiro Tsujikawa
d4ec542107
Update doc
2014-05-15 00:11:40 +09:00
Tatsuhiro Tsujikawa
ffdc764d85
Update doc
2014-05-15 00:10:27 +09:00
Tatsuhiro Tsujikawa
2ae1da113e
src: Use C++ style comments for C++ source code
2014-05-14 23:22:23 +09:00
Tatsuhiro Tsujikawa
5b4f02dfe0
src: Rewrite util::format_hex
2014-05-14 23:09:33 +09:00
Tatsuhiro Tsujikawa
e47b976691
src: Eliminate use of snprintf
2014-05-14 22:39:28 +09:00
Tatsuhiro Tsujikawa
be4c75a7e9
src: Use gmtime_r instead of gmtime
2014-05-14 21:23:21 +09:00
Tatsuhiro Tsujikawa
7b9a8acc22
Add HPACK deflation API
2014-05-13 23:42:55 +09:00
Tatsuhiro Tsujikawa
03e2dabea9
doc: Add Python API doc
2014-05-13 21:46:39 +09:00
Tatsuhiro Tsujikawa
2411a08b09
python: Return Handler object for pushed resource from BaseRequestHandler.push
...
Also update doc
2014-05-13 21:42:58 +09:00
Tatsuhiro Tsujikawa
062d6a8398
Remove outdated comment
2014-05-12 22:58:05 +09:00
Tatsuhiro Tsujikawa
ad4a4ee567
Add missing library error code to nghttp2_error()
2014-05-12 22:58:04 +09:00