Tatsuhiro Tsujikawa
dacc9b2f1c
Separate extension frames from core frames
...
ALTSVC and BLOCKED frames are now extension frames. To add new
extension frame without modifying nghttp2_frame union, which causes so
name bump, we separated extension frames from core frames.
nghttp2_frame includes generic nghttp2_extension. The payload member
of nghttp2_extension will point to the structure of extension frame
payload. The frame types of extension frames are defined in
nghttp2_ext_frame_type.
2014-06-09 23:16:54 +09:00
Tatsuhiro Tsujikawa
317b8baa4f
Set HTTP/2 protocol id to h2-13 for now
2014-06-07 19:39:14 +09:00
Tatsuhiro Tsujikawa
d4602a0991
Remove reserved field from ALTSVC frame
2014-06-07 19:10:09 +09:00
Tatsuhiro Tsujikawa
3daeadcb07
Remove bogus comments
2014-06-07 18:51:20 +09:00
Tatsuhiro Tsujikawa
19729962a3
Check stream_id is nonzero for DATA, HEADERS, PRIORITY, RST_STREAM, PUSH_PROMISE
2014-06-07 18:48:37 +09:00
Tatsuhiro Tsujikawa
bfaab30733
Allow transmission and reception of PRIORITY frame to a closed stream
2014-06-07 18:36:58 +09:00
Tatsuhiro Tsujikawa
c46d3dafc6
Remove PAD_HIGH and Pad High field
...
CONTINUATION now doesn't have padding.
2014-06-07 18:15:36 +09:00
Tatsuhiro Tsujikawa
70c86979e8
Ignore unknown settings ID
2014-06-07 16:41:36 +09:00
Tatsuhiro Tsujikawa
d402ba6fa2
Make settings_id 2 bytes field
2014-06-07 16:37:29 +09:00
Tatsuhiro Tsujikawa
458ccb3681
Ignore unknown frame types
...
Unexpected CONTINUATION frame is handled separately as connection
error.
2014-06-07 16:30:55 +09:00
Tatsuhiro Tsujikawa
3db8935e20
Remove per-frame compression
2014-06-07 16:04:43 +09:00
Tatsuhiro Tsujikawa
b8ed74c1ec
nghttpx: Disable SSL_CTX_set_ecdh_auto() for now
2014-06-06 23:17:32 +09:00
Tatsuhiro Tsujikawa
fcec996925
h2load: Use 1 thread if the number of concurrent client is 1
2014-06-06 23:11:08 +09:00
Tatsuhiro Tsujikawa
7cb28e88e2
h2load: Return Stats rather than Worker from std::future
2014-06-06 23:08:32 +09:00
Tatsuhiro Tsujikawa
aea4001d73
deflatehd: Fix crash with -t option
2014-06-05 00:59:22 +09:00
Tatsuhiro Tsujikawa
eb0a894ede
Merge branch 'Wshadow' of https://github.com/alagoutte/nghttp2 into alagoutte-Wshadow
2014-06-04 23:34:04 +09:00
Alexis La Goutte
6b08534ffc
Fix declaration of ‘index’ shadows a global declaration [-Werror=shadow]
...
I have this error with some old gcc (4.6) release (Ubuntu 12.04 or Travis...)
2014-06-03 10:20:05 +02:00
Tatsuhiro Tsujikawa
1390378341
Bump up version number to 0.4.2-DEV
2014-06-02 22:49:56 +09:00
Tatsuhiro Tsujikawa
7146954de2
Update man pages
2014-06-02 22:36:22 +09:00
Tatsuhiro Tsujikawa
75b9be2d5a
Bump up version number to 0.4.1, LT revision to 3:1:0
2014-06-02 22:34:18 +09:00
Tatsuhiro Tsujikawa
99aaaccf03
Update doc
2014-06-02 22:33:23 +09:00
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