Tatsuhiro Tsujikawa
e71948d611
Merge branch 'master' of https://github.com/apohl79/nghttp2 into apohl79-master
2015-12-19 23:33:33 +09:00
Tatsuhiro Tsujikawa
5a2d75551d
h2load: Remove "(client)" from per-client req/s stat for simplicity
2015-12-19 22:56:10 +09:00
Andreas Pohl
9f2d064d7c
libnghttp2_asio: Optimized remote endpoint interface to const ref where possible
2015-12-19 14:08:15 +01:00
Tatsuhiro Tsujikawa
2d2188e77b
src: Add 451 status code
...
https://datatracker.ietf.org/doc/draft-ietf-httpbis-legally-restricted-status/
2015-12-19 18:35:01 +09:00
Tatsuhiro Tsujikawa
feae76fbc0
Remove unused commented lines
2015-12-18 22:44:08 +09:00
Tatsuhiro Tsujikawa
80f7abb565
Fix crash caused by the regression in 9f8fc7b2bb
2015-12-17 22:25:28 +09:00
Tatsuhiro Tsujikawa
9f8fc7b2bb
Strict error handling for frames which are not allowed after closed (remote)
...
This makes h2spec strict mode a bit happier. We still one failing
test with h2spec -S (strict mode).
2015-12-17 21:31:20 +09:00
Tatsuhiro Tsujikawa
9cfda0c070
Update doc
2015-12-17 18:04:16 +09:00
Andreas Pohl
a30dad4f5e
libnghttp2_asio: Added access to a requests remote endpoint
2015-12-16 18:38:21 +01:00
Tatsuhiro Tsujikawa
15d9f222ed
Add --lib-only configure option
...
This is a short hand for --disable-app --disable-examples
--disable-hpack-tools --disable-python-bindings, for users who want to
build libnghttp2 only.
2015-12-16 21:31:43 +09:00
Tatsuhiro Tsujikawa
ef7d6e8a0c
nghttpx: Loose HTTP Upgrade condition
2015-12-16 00:38:30 +09:00
Tatsuhiro Tsujikawa
71012fe83a
nghttpx: Add constexpr
2015-12-15 22:47:05 +09:00
Tatsuhiro Tsujikawa
228d92244a
Optimize nghttp2_pq swap
2015-12-15 22:07:51 +09:00
Tatsuhiro Tsujikawa
248a64f0b2
Compile with OpenSSL 1.1.0-pre1
2015-12-14 21:12:25 +09:00
Tatsuhiro Tsujikawa
68c5deea5a
Clarify the condition when opening new stream from remote is allowed
2015-12-11 21:23:49 +09:00
Tatsuhiro Tsujikawa
ab93db2259
Add test when client sends push response to server
2015-12-11 00:18:27 +09:00
Tatsuhiro Tsujikawa
f14ac74316
At least check stream ID is valid when PUSH_PROMISE is received in goaway mode
2015-12-10 23:54:54 +09:00
Tatsuhiro Tsujikawa
0c70ff5658
Simplify
2015-12-10 23:18:02 +09:00
Tatsuhiro Tsujikawa
ba671a8473
Merge branch 'apohl79-master'
2015-12-10 21:29:00 +09:00
Tatsuhiro Tsujikawa
66bbb5c76f
Merge branch 'master' of https://github.com/apohl79/nghttp2 into apohl79-master
2015-12-10 21:09:28 +09:00
Andreas Pohl
a4392d4a7f
libnghttp2_asio: Make io_service accessors const
2015-12-09 23:11:40 +01:00
Tatsuhiro Tsujikawa
86505b1c54
Update h2load howto and all manual pages
2015-12-08 23:56:21 +09:00
Andreas Pohl
924fef1f32
libnghttp2_asio: Added io_service accessors
...
To allow the asio wrapper to work with boost.fiber it is required
to access the underlying io_service objects.
2015-12-08 15:54:22 +01:00
Tatsuhiro Tsujikawa
7cc2d22ab5
Fix compile error with gcc
2015-12-08 23:33:26 +09:00
Tatsuhiro Tsujikawa
abcdbf0039
Take into account remainder due to integer division when calculating cycle
2015-12-08 23:15:55 +09:00
Tatsuhiro Tsujikawa
4bcc14fc67
Reschedule stream when only weight is changed
...
Previously, we only updated stream's weight field when only weight was
changed by PRIORITY frame. If stream is queued, it would be better to
actually reschedule it based on new weight. This could be especially
useful if weight is increased.
2015-12-07 23:14:22 +09:00
Tatsuhiro Tsujikawa
72f815d535
Update descendant_last_cycle on nghttp2_stream_next_outbound_item
...
Previously, we updated descendant_last_cycle in
nghttp2_stream_reschedule, which is called after non-zero DATA frame.
But this was not optimal since we still had old descendant_last_cycle,
and new stream was scheduled based on it. Now descendant_last_cycle
is updated in nghttp2_stream_next_outbound_item, which is called when
stream with highest priority is selected from queue. And new stream
is scheduled based on it. This commit also removes 0-reset of
descendant_last_cycle and cycle in nghttp2_stream_reschedule. This
could help making them lower, so that they are not overflow. But
there is a pattern that it doesn't work, and we are not sure they are
really useful at this moment.
2015-12-07 22:48:50 +09:00
Tatsuhiro Tsujikawa
9c84f60ba0
Merge branch 'master' into simple-extensions
2015-12-04 23:48:40 +09:00
Tatsuhiro Tsujikawa
7ca9ead36b
nghttp: Update doc for default value of -M
2015-12-04 23:08:58 +09:00
Tatsuhiro Tsujikawa
e67987404b
Merge branch 'sunpoet-master'
2015-12-04 23:04:33 +09:00
Sunpoet Po-Chuan Hsieh
90b5a5856b
Fix build when OpenSSL 1.0.2 is not available
2015-12-04 17:38:04 +08:00
Tatsuhiro Tsujikawa
a151a44caf
Set max number of outgoing concurrent streams to 100 by default
...
Instead of using nonsensical large value for max outgoing concurrent
streams, use more sensible value, 100.
2015-12-03 23:45:03 +09:00
Tatsuhiro Tsujikawa
478a423bcf
Reduce nghttp2_stream size
2015-12-03 22:53:02 +09:00
Tatsuhiro Tsujikawa
93d8636fb0
Keep incoming streams only at server side
...
We should only keep incoming closed streams because we only keep at
most max concurrent streams, which only applied to incoming streams.
2015-12-03 22:48:41 +09:00
Tatsuhiro Tsujikawa
2288ee8060
Create stream object for pushed resource during nghttp2_submit_push_promise()
...
Previously, stream object for pushed resource was not created during
nghttp2_submit_push_promise(). It was created just before
nghttp2_before_frame_send_callback was called for that PUSH_PROMISE
frame. This means that application could not call
nghttp2_submit_response for the pushed resource before
nghttp2_before_frame_send_callback was called. This could be solved
by callback chaining, but for web server with back pressure from
backend stream, it is a bit unnecessarily hard to use.
This commit changes nghttp2_submit_push_promise() behaviour so that
stream object is created during that call. It makes application call
nghttp2_submit_response right after successful
nghttp2_submit_push_promise call.
2015-12-02 21:16:30 +09:00
Tatsuhiro Tsujikawa
6beaf4d9f3
h2load: Add req/s min, max, mean and sd for clients
2015-12-01 23:54:21 +09:00
Tatsuhiro Tsujikawa
d1d1c83e56
h2load: Fix broken connection times
2015-12-01 22:29:30 +09:00
Tatsuhiro Tsujikawa
cbad05e0de
src: Fix compile error with gcc-4.7
2015-12-01 21:21:50 +09:00
Tatsuhiro Tsujikawa
e01d213636
Update man pages
2015-11-29 19:12:53 +09:00
Tatsuhiro Tsujikawa
e1e7840b2c
doc: Fix broken layout in ascii art
2015-11-29 19:08:17 +09:00
Tatsuhiro Tsujikawa
2754d9e2bb
Update doc
2015-11-28 15:24:13 +09:00
Tatsuhiro Tsujikawa
12b2e0a2b3
Add nghttp2_session_create_idle_stream() API
...
See GH-436
2015-11-28 15:23:44 +09:00
Tatsuhiro Tsujikawa
aacac613af
Assert dep_stream is non-null to shut up scan-build
2015-11-28 00:50:29 +09:00
Tatsuhiro Tsujikawa
ba9e912cf6
src: Rename isAlpha, isDigit, and isHexDigit as is_...
2015-11-28 00:42:51 +09:00
Tatsuhiro Tsujikawa
d867fe64e3
src: Rename endsWith as ends_with
2015-11-28 00:42:51 +09:00
Tatsuhiro Tsujikawa
de247f7d33
src: Rename startsWith as starts_with
2015-11-28 00:42:51 +09:00
Tatsuhiro Tsujikawa
1ba28bef1f
util: Remove unused functions; rename regacy camel-case function names
2015-11-28 00:42:51 +09:00
Tatsuhiro Tsujikawa
c0858d8c1a
src: Minor optimization for appending single character
2015-11-28 00:03:16 +09:00
Tatsuhiro Tsujikawa
863493766d
Fix in_attr_char(); cleanup const char array iteration
2015-11-27 23:54:07 +09:00
Tatsuhiro Tsujikawa
a70445e122
Retain stream in reserved state on client side
...
Application may use it using nghttp2_stream_* functions, and traverse
its dependency.
2015-11-27 22:54:55 +09:00