Tatsuhiro Tsujikawa
3e2dc04264
Fixed the bug that spdylay_recv does not return SPDYLAY_ERR_EOF.
2012-05-11 00:21:36 +09:00
Tatsuhiro Tsujikawa
1158de22a3
Added status_code argument to spdylay_on_invalid_ctrl_recv_callback
2012-05-09 23:10:52 +09:00
Tatsuhiro Tsujikawa
c68a0b5e6d
Added spdylay_on_unknown_ctrl_recv_callback.
...
This callback function is invoked when the unknown frame type is received.
Added debug output using this callback to spdycat.
2012-05-09 22:41:08 +09:00
Tatsuhiro Tsujikawa
171bede1fa
Added spdylay_session_on_ctrl_recv_parse_error_callback.
...
This callback function is invoked when the received frame data could not
be parsed correctly.
Added debug output using this callback to spdycat.
2012-05-09 21:55:21 +09:00
Tatsuhiro Tsujikawa
fa04757ff4
Don't send WINDOW_UPDATE automatically if SPDYLAY_OPT_NO_AUTO_WINDOW_UPDATE
...
is set.
2012-05-08 23:29:24 +09:00
Tatsuhiro Tsujikawa
13ea7c60ba
Added spdylay_session_set_option() public API.
2012-05-08 22:59:34 +09:00
Tatsuhiro Tsujikawa
02e4440e4a
Having the number of server and client streams be limited separately
...
using SETTINGS_MAX_CONCURRENT_STREAMS
2012-05-08 00:59:26 +09:00
Tatsuhiro Tsujikawa
67eca8d078
Use local_settings' INITIAL_WINDOW_SIZE when deciding to send WINDOW_UPDATE.
2012-05-08 00:08:24 +09:00
Tatsuhiro Tsujikawa
36ba636e30
Fixed memory leak in out of memory situation
2012-04-06 23:36:10 +09:00
Tatsuhiro Tsujikawa
94650de16e
Exposed spdylay_session_fail_session() to the public API.
2012-04-06 02:16:01 +09:00
Tatsuhiro Tsujikawa
d83d1cd33a
Added CREDENTIAL frame support.
2012-04-06 01:45:39 +09:00
Tatsuhiro Tsujikawa
169857742b
Call on_ctrl_send_callback and before_ctrl_send_callback for WINDOW_UPDATE.
2012-03-30 00:17:01 +09:00
Tatsuhiro Tsujikawa
90c2739a9c
Renamed spdylay_frame.common as spdylay_frame.ctrl
2012-03-30 00:07:27 +09:00
Tatsuhiro Tsujikawa
ba56ed6c48
Hide spdylay_data from public API.
...
The spdylay_data contains full of implementation details and is not
used in public API. It should be hidden.
The spdylay_frame union now only contains the control frame.
2012-03-29 23:59:51 +09:00
Tatsuhiro Tsujikawa
200012f1b5
Removed SPDYLAY_SPDY2_PRI_LOWEST and SPDYLAY_SPDY3_PRI_LOWEST macros.
...
Made spdylay_session_get_pri_lowest() to get the lowest priority value
for the current session.
This change allows the application code to get the lowest priority value
without knowing the protocol version which the current session uses.
2012-03-26 23:35:20 +09:00
Tatsuhiro Tsujikawa
262cda86e8
Issue RST_STREAM with PROTOCOL_ERROR if invalid header block is received.
...
We say the header block is invalid if at least one of the following
condition is true:
There are duplicate header names; or the header names are not
encoded in US-ASCII character set and not lower cased; or the
header name is zero-length string; or the header value contains
multiple in-sequence NUL bytes.
spdylay_frame_unpack_nv() returns SPDYLAY_ERR_INVALID_HEADER_BLOCK
if the unpacking suceeded but it found the header block is invalid.
This means that caller treats it as success, but do additional
processing for invalid header block if it wants.
The functions calling spdylay_frame_unpack_nv() also return
SPDYLAY_ERR_INVALID_HEADER_BLOCK.
2012-03-26 23:19:58 +09:00
Tatsuhiro Tsujikawa
5deef03687
Moved include of arpa/inet.h to spdylay_net.h
...
spdylay_net.h is compatibility layer for network related header files.
In the nature of spdylay library it should not depend on the actual
networking implementations, but we need some system headers for
optimization. Currently, arpha/inet.h and netinet/in.h are needed for
ntoh*/hton* functions.
2012-03-24 00:14:04 +09:00
Tatsuhiro Tsujikawa
9e716eb635
Code cleanup: C89 and old-style-prototypes and definition.
2012-03-23 02:17:48 +09:00
Tatsuhiro Tsujikawa
742a8bbac9
Added spdylay_session_mem_recv()
...
spdylay_session_mem_recv() processes input bytes as the received data
from the remote endpoint. spdylay_session_recv() uses it internally.
The spdylay_inbound_buffer and ibuf member in spdylay_session is removed.
The buffer is allocated in the stack when spdylay_session_recv() is called.
2012-03-17 23:39:38 +09:00
Tatsuhiro Tsujikawa
8f038ae4b6
Added spdylay_session_get_outbound_queue_size()
2012-03-15 23:06:28 +09:00
Tatsuhiro Tsujikawa
b8e4116f9a
Updated doc
2012-03-15 22:39:26 +09:00
Tatsuhiro Tsujikawa
488b5acec7
Sort nv after 3to2 and 2to3 translation.
2012-03-14 22:53:14 +09:00
Tatsuhiro Tsujikawa
6024106695
Issue stream error with the status code STREAM_IN_USE if multiple SYN_REPLY
...
frames are received for the same active stream ID.
2012-03-11 22:42:22 +09:00
Tatsuhiro Tsujikawa
ce6dc1303e
Issue session error with PROTOCOL_ERROR if SYN_STREAM with a stream ID
...
which is less than any previously received SYN_STREAM.
2012-03-11 19:27:33 +09:00
Tatsuhiro Tsujikawa
8284746163
spdylay_submit_syn_stream: Return SPDYLAY_ERR_INVALID_ARGUMENT if even
...
Associated-To-Stream-ID is specified.
Check the Associated-To-Stream is active before sending SYN_STREAM.
2012-03-11 18:55:40 +09:00
Tatsuhiro Tsujikawa
94c7e89742
Renamed SPDYLAY_CONCURRENT_STREAMS_MAX as
...
SPDYLAY_INITIAL_MAX_CONCURRENT_STREAMS
2012-03-10 18:49:25 +09:00
Tatsuhiro Tsujikawa
02924b6dd0
Added spdylay_submit_settings
2012-03-10 18:41:01 +09:00
Tatsuhiro Tsujikawa
82e20192d8
Added functions to process received SETTINGS frame.
...
Now remote and local settings are stored separately.
The initial window size is included in SETTINGS frame, all active stream's
window sizes are now updated.
Removed the initial_window_size member from spdylay_stream because
it is the same as remote_settings's initial window size.
2012-03-10 00:10:11 +09:00
Tatsuhiro Tsujikawa
fcde841cab
Added spdylay_is_fatal
2012-03-08 00:40:17 +09:00
Tatsuhiro Tsujikawa
0a7c510147
Renamed SPDYLAY_ERR_STREAM_ALREADY_CLOSED as SPDYLAY_ERR_STREAM_CLOSED
...
Added doc for spdylay_error values
2012-03-08 00:37:18 +09:00
Tatsuhiro Tsujikawa
11020146f5
Added on_ctrl_not_send_callback.
...
This callback function is invoked after the control frame
is not sent because of the error. The error is indicated by
the error argument, which is one of the values defined in spdylay_error.
2012-03-08 00:18:18 +09:00
Tatsuhiro Tsujikawa
185d929d86
Translate received SPDY/2 name/value pairs into SPDY/3 style.
...
The callback functions receives SPDY/3 style name/value pairs.
2012-03-07 00:42:47 +09:00
Tatsuhiro Tsujikawa
00abfc8dd3
Always accept SPDY/3 style name/value pairs from spdylay_submit_* and
...
translate them into SPDY/2 as needed.
2012-03-07 00:38:27 +09:00
Tatsuhiro Tsujikawa
7d9a7b3069
Don't return on partial write
2012-03-06 23:43:45 +09:00
Tatsuhiro Tsujikawa
a452893068
Fixed the potential dead lock in flow control.
2012-02-28 21:40:19 +09:00
Tatsuhiro Tsujikawa
d5cc71c636
Added status_code handling to GOAWAY
2012-02-26 16:26:38 +09:00
Tatsuhiro Tsujikawa
8693874340
Added SPDY/3 flow control.
2012-02-26 00:12:32 +09:00
Tatsuhiro Tsujikawa
895562a15b
Fixed uninitialized return value in spdylay_session_new()
2012-02-25 01:41:02 +09:00
Tatsuhiro Tsujikawa
847830f132
Added ability to pack/unpack SPDY/3 frames.
...
Added SPDY/3 zlib dictionary from draft-mbelshe-httpbis-spdy-00.
2012-02-25 01:17:03 +09:00
Tatsuhiro Tsujikawa
995ccbc8e5
Added version argument to spdylay_frame_*_init. Added version member to
...
spdylay_session.
2012-02-24 23:33:06 +09:00
Tatsuhiro Tsujikawa
cf7da38598
Define flags separately for control and data frames.
2012-02-24 21:40:13 +09:00
Tatsuhiro Tsujikawa
9dbec4f2bf
Small refactoring
2012-02-24 00:04:35 +09:00
Tatsuhiro Tsujikawa
769150d5f7
Added spdylay_submit_headers function.
2012-02-24 00:02:29 +09:00
Tatsuhiro Tsujikawa
a1d2325a5e
Assert where FATAL error is expected. Don't return arbitrary error code from
...
user callback. Updated doc.
2012-02-23 22:49:08 +09:00
Tatsuhiro Tsujikawa
5408a21ce9
Merged spdylay_session_pack_data_overwrite() into spdylay_session_pack_data().
...
spdylay_session_pack_data() now takes the maximum length of DATA payload.
2012-02-22 23:58:33 +09:00
Tatsuhiro Tsujikawa
9fa8357bbc
Made return value of spdylay_map_init() void. Updated doc.
2012-02-21 23:23:47 +09:00
Tatsuhiro Tsujikawa
54e4c80b96
Added stream_id argument to spdylay_data_source_read_callback
2012-02-19 23:48:39 +09:00
Tatsuhiro Tsujikawa
301eb29cd4
Added ability to postpone DATA frames for asynchronous I/O.
2012-02-19 23:42:25 +09:00
Tatsuhiro Tsujikawa
4f28698572
Fixed: if bytes of one frame are received in several chunks, unpacking fails.
2012-02-19 00:05:52 +09:00
Tatsuhiro Tsujikawa
03307116a2
Send GOAWAY when spdylay_frame_unpack_* is failed with non-fatal error.
...
SPDYLAY_ERR_ZLIB is now moved back to non-fatal error and it is subject
to GOAWAY if it occurred.
2012-02-18 21:55:40 +09:00