Kenny Peng
dd02c4cd9b
support header add/override
2014-10-17 15:25:59 -07:00
Tatsuhiro Tsujikawa
93ee5bdba6
REAMDE.rst: Add make and binutils to required ubuntu packages
2014-10-17 23:55:08 +09:00
Tatsuhiro Tsujikawa
f2aa6f4e2b
nghttp: Document prioritization with -a option
2014-10-16 23:17:19 +09:00
Tatsuhiro Tsujikawa
bc8a583184
Refactor stream tree code
2014-10-16 21:59:52 +09:00
Tatsuhiro Tsujikawa
502ff24568
Avoid iterate siblings when adding/removing stream tree
2014-10-16 01:12:59 +09:00
Tatsuhiro Tsujikawa
47692d113c
Bump up version number to 0.6.5-DEV
2014-10-14 23:49:10 +09:00
Tatsuhiro Tsujikawa
19c2805d0d
Update man pages
2014-10-14 23:30:44 +09:00
Tatsuhiro Tsujikawa
df078dc004
Bump up version number to 0.6.4
...
Library code has not changed at all since the last release, so LT
revision stays the same.
2014-10-14 23:27:35 +09:00
Tatsuhiro Tsujikawa
e570225e97
tiny-nghttpd: Simplify timer event handling
2014-10-14 21:52:30 +09:00
Tatsuhiro Tsujikawa
8fffa05513
src: Fix possible heap-use-after free for OpenSSL global locking
...
This is simply programming error, but it is interesting that using
libstdc++ does not reveal this error. With clang++-libc++, we got
std::system_error: mutex lock faild: Invalid argument. This is
because we did not give a name to lock object, so it is immediately
destructed. I think this will fix the reported crash on Mac OSX.
2014-10-14 21:47:07 +09:00
Tatsuhiro Tsujikawa
0d4120ce2c
nghttpx: Apply same fix from a225bb2
to spdy upstream
2014-10-13 21:13:45 +09:00
Tatsuhiro Tsujikawa
20de432725
nghttpx: Pool http downstream connection per thread
2014-10-13 21:09:00 +09:00
Tatsuhiro Tsujikawa
325bb0115e
Bump up version number to 0.6.4-DEV
2014-10-11 00:22:25 +09:00
Tatsuhiro Tsujikawa
cc3b41ec96
Bump up version number to 0.6.3, LT revision to 6:1:1
2014-10-11 00:08:32 +09:00
Tatsuhiro Tsujikawa
225b90eefd
Use switch-case instead of if
2014-10-10 22:52:47 +09:00
Tatsuhiro Tsujikawa
3931a0b04d
Fix bugs found by coverity scan
2014-10-10 22:50:35 +09:00
Tatsuhiro Tsujikawa
70c0558443
Set payload length when expected SETTINGS is not received
2014-10-10 21:46:02 +09:00
Tatsuhiro Tsujikawa
f2bfe623fc
Update doc
2014-10-09 21:40:26 +09:00
Tatsuhiro Tsujikawa
80dcb565eb
Check first SETTINGS strictly
2014-10-09 21:37:18 +09:00
Tatsuhiro Tsujikawa
6d42b6697b
examples: Disable tiny-nghttpd if timerfd_create is not available
2014-10-09 21:18:24 +09:00
Tatsuhiro Tsujikawa
bcbb2e8649
src: Use fcntl and FD_CLOEXEC if O_CLOEXEC is undefined
...
We may run into race condition if execve is called at the same time
when fcntl is called. But we just does this for now to compile
nghttp2 applications under older kernel.
2014-10-08 23:44:38 +09:00
Tatsuhiro Tsujikawa
ba92935f64
Define NOTHREADS if std:future is not available
2014-10-08 23:36:55 +09:00
Tatsuhiro Tsujikawa
402c262de5
Push stream to queue after effective weight was calculated
2014-10-08 22:44:02 +09:00
Tatsuhiro Tsujikawa
03c4092862
Distribute closed or blocked stream's weight to its siblings
...
This also means that at least one stream whose dpri is
NGHTTP2_STREAM_DPRI_TOP exists, its siblings descendants have no
chance to send streams, even if their parent stream has
NGHTTP2_STREAM_DPRI_NODATA.
2014-10-07 23:52:36 +09:00
Tatsuhiro Tsujikawa
a225bb29df
nghttpx: Fix request is sent to backend prematurely with http2 upstream
2014-10-07 00:31:35 +09:00
Tatsuhiro Tsujikawa
f3a76d84f1
Document that only one data is allowed for one stream at a time
2014-10-06 23:47:43 +09:00
Tatsuhiro Tsujikawa
7a09feebc3
h2load: Don't use std::future with --disable-threads
...
Now we don't use std::future with --disable-threads, checking
std::future in configure.ac was removed and building h2load is always
enabled.
2014-10-05 14:25:15 +09:00
Tatsuhiro Tsujikawa
32ddca532a
Use 256 elements table in nghttp2_downcast
2014-10-04 00:40:51 +09:00
Svante Signell
df875db989
Avoid PATH_MAX by using getcwd(nullptr, 0) as supported by modern glibc-based OSes.
2014-10-03 21:58:15 +09:00
Tatsuhiro Tsujikawa
1d138accb9
Unify DATA and other frames in nghttp2_outbound_item and save malloc()
2014-10-03 21:31:37 +09:00
Tatsuhiro Tsujikawa
7e6019aef1
nghttp2_hd: Don't malloc if name/value is in first chunk without indexing
2014-09-30 23:01:58 +09:00
Tatsuhiro Tsujikawa
e20b417b84
Embed aux_data to nghttp2_outbound_item so that we can save some malloc() calls
2014-09-30 21:45:15 +09:00
Tatsuhiro Tsujikawa
df56b69060
nghttp2_map: Use initial size 256 so that we don't resize it until 100 streams
2014-09-29 22:46:13 +09:00
Tatsuhiro Tsujikawa
b6d0a32d0e
tiny-nghttpd: Save number of read(2) calls using file size
2014-09-29 22:37:41 +09:00
Tatsuhiro Tsujikawa
a82956d1d6
nghttp2_hd: Use binary search to lookup static table (again)
2014-09-29 21:58:37 +09:00
Tatsuhiro Tsujikawa
9c0760e3c1
Bump up version number to 0.6.3-DEV
2014-09-29 00:08:21 +09:00
Tatsuhiro Tsujikawa
4e71e9e2e8
Update man pages
2014-09-28 23:34:07 +09:00
Tatsuhiro Tsujikawa
521450c7ad
Bump up version number to 0.6.2, LT revision to 6:0:1
2014-09-28 23:33:10 +09:00
Tatsuhiro Tsujikawa
aa57e91e85
Fix `make distcheck`
2014-09-28 23:29:57 +09:00
Tatsuhiro Tsujikawa
4023c26cf1
Update doc
2014-09-28 23:24:39 +09:00
Tatsuhiro Tsujikawa
a0f558ee3c
doc: Add example to use nghttp2::asio_http2::server::request::run_task
2014-09-28 16:55:32 +09:00
Tatsuhiro Tsujikawa
4f0d03b4b9
libnghttp2_asio: Move common types and functions to nghttp2::asio_http2 ns
2014-09-28 16:54:00 +09:00
Tatsuhiro Tsujikawa
88d7abcc23
libnghttp2_asio: Add request::run_task to execute task in separate thread
2014-09-28 16:25:45 +09:00
Tatsuhiro Tsujikawa
409316018d
examples: Fix travis error: unreachable-code
2014-09-28 00:02:13 +09:00
Tatsuhiro Tsujikawa
d25b9da9f6
Check Boost library only when it is requested
2014-09-27 23:50:33 +09:00
Tatsuhiro Tsujikawa
b48ceac56c
nghttp2_hd: Search dynamic table first
...
Since recently used headers are in dynamic header table, it is
advantageous to search dynamic table first, saving time to search
through static table.
2014-09-27 23:45:58 +09:00
Tatsuhiro Tsujikawa
34413d8d7c
examples: Build tiny-nghttpd only when epoll is available
2014-09-27 23:45:57 +09:00
Tatsuhiro Tsujikawa
b7ccca4c47
examples: Add tiny-nghttpd
...
tiny-nghttpd is HTTP/2 server and its purpose is measure the
performance of nghttp2 library code. Currently it only accepts direct
HTTP/2 connection only.
2014-09-27 23:44:33 +09:00
Tatsuhiro Tsujikawa
e887b2516f
Remove boost LDFLAGS from examples
2014-09-26 21:42:31 +09:00
Tatsuhiro Tsujikawa
be0f6dcaaf
Clear 2 types of stream deferred flag indenpendently
...
Previously when nghttp2_stream_resume_deferred_data() is called,
deferred flags in stream->flags are all cleared. This is not ideal
because if application returned NGHTTP2_ERR_DEFERRED, and also that
stream is deferred by flow control, then all flags are cleared and
read callback will be invoked again. This commit fixes this issue.
This changes error condition of nghttp2_session_resume_data().
Previously we return error if stream was deferred by flow control.
Now we don't return error in this case. We just clear
NGHTTP2_FLAG_DEFERRED_USER and if still
NGHTTP2_FLAG_DEFERRED_FLOW_CONTROL is set, just return 0.
2014-09-26 21:32:17 +09:00