Tatsuhiro Tsujikawa
d07bb1ddff
Rework outbound frame buffers
2014-03-13 22:11:02 +09:00
Tatsuhiro Tsujikawa
358b4386d3
Introduce nghttp2_buf to ease buffer management
2014-03-11 01:47:38 +09:00
Tatsuhiro Tsujikawa
d074cb611f
nghttpx: Add rate limit per worker thread
...
The existing options --{read,write}-{rate,burst} are per connection.
The new options --worker-{read,write}-{rate,burst} are per worker
thread, which is overall rate limit of all connections worker handles.
2014-03-09 14:53:28 +09:00
Tatsuhiro Tsujikawa
7f18eced0b
src: Use jemalloc if available
2014-03-05 21:38:33 +09:00
Tatsuhiro Tsujikawa
27e161dc31
src: Add EvbufferBuffer class to simplify the code base
2014-03-05 00:23:33 +09:00
Tatsuhiro Tsujikawa
3ca4539f99
nghttpd: Only emit content-encoding: gzip when error-gzip is on
2014-03-04 23:37:42 +09:00
Tatsuhiro Tsujikawa
ddfa93ff5b
nghttpx: Make socketpair in internal use non-block
2014-03-04 23:34:48 +09:00
Tatsuhiro Tsujikawa
a61ca763df
nghttpd: Add -e option to toggle gzipped error response
2014-03-04 23:29:30 +09:00
Tatsuhiro Tsujikawa
caeeba681f
nghttpd: Add multi threading support
2014-03-04 23:14:26 +09:00
Tatsuhiro Tsujikawa
d4ea2418d8
nghttpx: Use LibsslGlobalLock
2014-03-04 21:33:43 +09:00
Tatsuhiro Tsujikawa
73f55e7b7a
h2load: Fix crash with multi threading
2014-03-04 21:32:57 +09:00
Tatsuhiro Tsujikawa
13be30e582
Update src/.gitignore
2014-03-04 01:16:42 +09:00
Tatsuhiro Tsujikawa
5cfb51c881
h2load: Support parellel native threads execution with -t option
2014-03-04 01:12:11 +09:00
Tatsuhiro Tsujikawa
f3183efe04
nghttpd: Emit protocol id error only when verbose output is enabled
2014-03-03 23:51:46 +09:00
Tatsuhiro Tsujikawa
b5341ebac6
nghttpd: More SSL_CTX options and support EDCHE cipher
2014-03-03 23:49:13 +09:00
Tatsuhiro Tsujikawa
e34b8ac7fb
src: Avoid to call costly evbuffer_add() repeatedly
...
The profiler and benchmarking showed that calling evbuffer_add()
repeatedly is very costly. To avoid this, we buffer up small writes
into one large chunk and call evbuffer_add() less times.
2014-03-03 23:45:57 +09:00
Tatsuhiro Tsujikawa
3d211e1cfd
h2load: Fix compiler warning
2014-03-03 00:53:31 +09:00
Tatsuhiro Tsujikawa
1337fa8bfe
src: Add h2load, benchmarking tool for HTTP/2 and SPDY
2014-03-02 23:45:47 +09:00
Tatsuhiro Tsujikawa
c1e1a1be5a
nghttpx: Cast uint8_t to uint32_t to display it as numeric value
2014-03-02 23:22:28 +09:00
Tatsuhiro Tsujikawa
a85455ed0b
src: Zero clear http_parser_url struct
2014-02-27 22:11:31 +09:00
Tatsuhiro Tsujikawa
227a48cea1
src: Move http_parser_url related functions to util
2014-02-27 21:53:52 +09:00
Tatsuhiro Tsujikawa
13cc3f2fe9
src, python: Only produce header_table_size when it is changed
2014-02-25 23:55:06 +09:00
Tatsuhiro Tsujikawa
9cc7f9fb36
nghttp: Wait for pushed resources to complete
...
The statistics of pushed resources are also calculated.
2014-02-25 01:16:47 +09:00
Tatsuhiro Tsujikawa
d1c1deaf03
Add promised_stream_user_data parameter to nghttp2_submit_push_promise
...
This is very useful to associate application specific data to promised
stream.
nghttp2_nv_array_copy now does not complain the header field is large.
2014-02-25 00:26:12 +09:00
Tatsuhiro Tsujikawa
86aa905c10
nghttpx: Code cleanup
2014-02-22 11:26:32 +09:00
Tatsuhiro Tsujikawa
fc25143418
Remove END_PUSH_PROMISE in favor of END_HEADERS
2014-02-21 21:23:51 +09:00
Tatsuhiro Tsujikawa
659c3b0aa0
nghttpx: Initialize response_htp_ with 0
2014-02-20 21:30:25 +09:00
Tatsuhiro Tsujikawa
bbc09b005b
nghttpd: Use nghttp2_session_mem_recv and nghttp2_session_mem_send
2014-02-19 23:27:53 +09:00
Tatsuhiro Tsujikawa
1e1e77ad5e
nghttp: Use nghttp2_session_mem_recv and nghttp2_session_mem_send
2014-02-19 23:27:52 +09:00
Tatsuhiro Tsujikawa
cdf5d5402b
nghttpx: Code cleanup
2014-02-19 23:11:26 +09:00
Tatsuhiro Tsujikawa
3c96041c43
nghttpx: Fix typo
2014-02-19 22:53:33 +09:00
Tatsuhiro Tsujikawa
6320bd8926
nghttpx: Fix priority bits
2014-02-19 22:52:00 +09:00
Tatsuhiro Tsujikawa
649586fff6
Add nghttp2_session_mem_send() API function
...
This function behaves like nghttp2_session_send(), but it does not
use nghttp2_send_callback to send data. Instead, it returns the
serialized data to trasmit and its length to the caller.
2014-02-18 23:23:11 +09:00
Tatsuhiro Tsujikawa
f5342494f4
src: Format help message and add --version to make man page generation easier
2014-02-16 19:39:41 +09:00
Tatsuhiro Tsujikawa
1fd5fdd54a
src: Remove redundant SETTINGS_ENABLE_PUSH from server side
2014-02-16 16:05:26 +09:00
Tatsuhiro Tsujikawa
7504d89f9b
src: Add at most N bytes as padding if --padding option is used
2014-02-15 16:40:32 +09:00
Tatsuhiro Tsujikawa
fd88c6160d
HPACK post -05 updates
...
* Use 1 Huffman code table for both request and response
* Remove complicated deflater side table size management
* Add encoding context update
* Fix memory leak in inflater
2014-02-13 23:22:52 +09:00
Tatsuhiro Tsujikawa
cd3eae3dd2
src: Fix select_padding_callback which returns value greater than max_payload
2014-02-11 19:19:00 +09:00
Tatsuhiro Tsujikawa
c280cc7c4d
nghttpx: Add --padding option for debugging purpose
2014-02-11 17:23:22 +09:00
Tatsuhiro Tsujikawa
39fe7a5cfa
Don't set select_padding_callback if padding_boundary is 0 or not set
2014-02-11 16:48:27 +09:00
Tatsuhiro Tsujikawa
78d202ac30
Callback based padding from application
...
Now previous padding options are removed and instead we added
select_padding_callback to select padding length for each frame
by application. If this callback is not implemented by application,
no padding is added.
This change also fixes the broken session_detect_idle_stream()
if stream_id is our side.
2014-02-11 15:28:44 +09:00
Tatsuhiro Tsujikawa
118ed09da5
Allow disabling padding
2014-02-09 23:53:53 +09:00
Tatsuhiro Tsujikawa
68b5ffc1dc
Rename padding related names
2014-02-09 21:46:15 +09:00
Tatsuhiro Tsujikawa
ce53d7bd9e
src: Don't output priority if NGHTTP2_FLAG_PRIORITY is not set
2014-02-09 21:34:28 +09:00
Tatsuhiro Tsujikawa
c7c283f3a9
nghttpx: Add --frontend-frame-debug option to debug HTTP/2 frame in upstream
...
The output format is the same one with nghttp/nghttpd. The output
is made into stderr to make it sync with logging.
2014-02-09 18:47:26 +09:00
Tatsuhiro Tsujikawa
1db2195389
Implement padding for HEADERS and CONTINUATION
2014-02-09 15:17:26 +09:00
Tatsuhiro Tsujikawa
be9d5efa4c
nghttp: Add --continuation option to test CONTINUATION
2014-02-08 00:23:18 +09:00
Tatsuhiro Tsujikawa
814d0f76f3
Implement DATA frame padding
2014-02-08 00:23:18 +09:00
Tatsuhiro Tsujikawa
c79adf6997
Remove flow control disabling feature
2014-02-06 00:23:20 +09:00
Tatsuhiro Tsujikawa
8be17f077a
Add nghttp2_check_header_name and nghttp2_check_header_value APIs
...
These are promoted to public API from src/http2.h
2014-02-01 19:31:50 +09:00