1
0
mirror of https://github.com/moparisthebest/spdylay synced 2024-11-11 12:05:07 -05:00
Commit Graph

49 Commits

Author SHA1 Message Date
Tatsuhiro Tsujikawa
e79de111a4 Added spdylay_submit_syn_reply 2012-02-28 23:27:10 +09:00
Tatsuhiro Tsujikawa
3d1b411895 Added test for negative window_size case 2012-02-27 23:24:17 +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
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
769150d5f7 Added spdylay_submit_headers function. 2012-02-24 00:02:29 +09:00
Tatsuhiro Tsujikawa
9e9e281bca Added spdylay_submit_syn_stream function. 2012-02-23 23:20:05 +09:00
Tatsuhiro Tsujikawa
37944253d2 Ensure read_callback is non-NULL for response bodies. 2012-02-21 22:04:24 +09:00
Jim Morrison
6e7025b9f5 Test that FLAG_FIN is set if the read callback is NULL. 2012-02-20 13:12:13 -08: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
Tatsuhiro Tsujikawa
050f33e8f9 Reuse buffers when packing frames.
Temporal name/value buffer will be shared by unpacking frame.
2012-02-16 20:54:30 +09:00
Tatsuhiro Tsujikawa
85ec883d11 Lower-case names in name/value pairs in spdylay_submit_{request, response} 2012-02-15 23:54:42 +09:00
Tatsuhiro Tsujikawa
938f51964d Respond RST_STREAM with PROTOCOL_ERROR when upper cased name is present in nv. 2012-02-15 22:11:42 +09:00
Tatsuhiro Tsujikawa
fd06d21638 Call on_stream_close_callback when server pushed SYN_STREAM has FIN flag set.
Don't mix status code and return value in
spdylay_session_on_syn_stream_received.
2012-02-15 00:45:09 +09:00
Tatsuhiro Tsujikawa
a48ad800b2 When a stream is canceled by RST_STREAM, don't send further DATA on that stream. 2012-02-12 19:01:23 +09:00
Tatsuhiro Tsujikawa
028e1f2b8f Added test case where DATA frame is backed off by higher priority frame. 2012-02-12 18:30:19 +09:00
Tatsuhiro Tsujikawa
34f0f6be1b Refuse incoming SYN_STREAM with SPDYLAY_REFUSED_STREAM if max-concurrent-streams number is reached. 2012-02-08 23:45:48 +09:00
Tatsuhiro Tsujikawa
887850e2f0 Use explicit name for variables to check callback function was called. 2012-02-08 21:46:29 +09:00
Tatsuhiro Tsujikawa
679159878f Merge branch 'master' of https://github.com/sorced-jim/spdylay into sorced-jim-master
Conflicts:
	tests/main.c
	tests/spdylay_session_test.c
	tests/spdylay_session_test.h
2012-02-08 21:37:44 +09:00
Jim Morrison
4298dc8a51 Erase the stream from the map after calling the on_stream_close callback 2012-02-07 14:17:38 -08:00
Tatsuhiro Tsujikawa
4630dfb4fe Added spdylay_on_request_recv_callback function.
This function invoked when request from remote peer is
received.  In other words, frame with FIN flag set is received.  In
HTTP, this means HTTP request, including request body, is fully
received.
2012-02-08 00:11:44 +09:00
Tatsuhiro Tsujikawa
00bed87537 Support max concurrent streams limit.
If max concurrent streams limit is reached, SYN_STREAM frames are not sent
and backed off. If other type of frame is waiting in the tx queue, it is
sent first. We introduced another priority queue for this purpose.
In this change we did not add code to send RST_STREAM when SYN_STREAM is
received but max concurrent stream is reached.
2012-02-06 00:14:19 +09:00
Tatsuhiro Tsujikawa
8b20e83652 Rewritten spdylay_frame_unpack_nv().
We use just single buffer to store name/value headers fields, instead of
allocating memory for each name/value strings.
It is now more than 2 times faster than old one.
2012-02-04 23:09:03 +09:00
Tatsuhiro Tsujikawa
1f72165549 Added stream_user_data arg to spdylay_submit_request() to identify stream ID later easily.
Specified stream_user_data_arg can be retrieved by
spdylay_session_get_stream_user_data() function. The application code can use
this function insde spdylay_on_ctrl_send_callback() and identify stream ID
for the request associated by the stream_user_data.
The sample usage is in examples/spdycat.cc.
2012-02-04 01:37:21 +09:00
Tatsuhiro Tsujikawa
4030c5ccf5 Closes all server-pushed streams when original stream is closed by RST_STREAM with CANCEL from client.
Fixed spdylay_session_is_my_stream_id()
2012-02-02 23:20:25 +09:00
Tatsuhiro Tsujikawa
562278194c Added server push SYN_STREAM validation. Added spdylay_session_server_new()
We still does not check "url" is in nv.
2012-02-02 00:19:31 +09:00
Tatsuhiro Tsujikawa
9785b99959 Suppress warnings in test code 2012-01-31 21:38:40 +09:00
Tatsuhiro Tsujikawa
afbade9e79 Fixed test error 2012-01-31 21:34:42 +09:00
Tatsuhiro Tsujikawa
3d4cf8aec3 Added data_prd arugment to spdylay_submit_request() and supported POST request. 2012-01-29 19:07:31 +09:00
Tatsuhiro Tsujikawa
06dae79b28 Discard inbound HEADERS and DATA in CLOSING state. Handle stream shutdown when DATA is received with FIN bit set. 2012-01-29 16:27:00 +09:00
Tatsuhiro Tsujikawa
e212eea08a Don't send GOAWAY when it is received from peer. Fixed want_read, want_write. 2012-01-29 15:11:10 +09:00
Tatsuhiro Tsujikawa
971e46f563 More explicit handling of shutdown status of read and write in each stream. 2012-01-29 00:08:51 +09:00
Tatsuhiro Tsujikawa
aed626bfa5 Added GOAWAY handling 2012-01-28 19:22:38 +09:00
Tatsuhiro Tsujikawa
d614325024 Fixed compiler warning. Added missing spdylay_session_on_ping_received prototype in header 2012-01-27 23:37:47 +09:00
Tatsuhiro Tsujikawa
8f53343dc3 Renamed spdylay_req_submit and spdylay_reply_submit as spdylay_submit_request and spdylay_submit_response 2012-01-27 23:35:23 +09:00
Tatsuhiro Tsujikawa
d1c4c59aad Added handling of received PING 2012-01-27 23:05:29 +09:00
Tatsuhiro Tsujikawa
a59c3efedb Added handling when HEADERS is received. 2012-01-27 19:10:13 +09:00
Tatsuhiro Tsujikawa
beb509ef39 Check stream before sending SYN_REPLY and DATA. Don't make stream if incoming SYN_STREAM has FIN and UNIDIRECTIONAL set. 2012-01-27 17:09:40 +09:00
Tatsuhiro Tsujikawa
21e165f1f8 Added spdylay_reply_submit() and DATA frame handling after SYN_REPLY. 2012-01-27 01:17:40 +09:00
Tatsuhiro Tsujikawa
6e627548be Added stream status change after sending SYN_STREAM and SYN_REPLY. 2012-01-26 01:04:01 +09:00
Tatsuhiro Tsujikawa
43c0ef8151 Check that SYN_STREAM pri is stored in stream 2012-01-25 23:56:18 +09:00
Tatsuhiro Tsujikawa
cbb8dd6a8c Added pri to spdylay_stream. Refactored SYN_STREAM, SYN_REPLY handling when they are received. 2012-01-25 23:46:07 +09:00
Tatsuhiro Tsujikawa
3bfe48972c Queue RST_STREAM if invalid stream ID is received in SYN_STREAM or SYN_REPLY.
Fixed bug that Z_DATA_ERROR is not handled.
Fixed bug that spdylay_frame_alloc_pack_nv does not use nv_offset correctly.
2012-01-25 21:31:28 +09:00
Tatsuhiro Tsujikawa
a52ff39850 Renamed spdylay_session_init as spdylay_session_new. Added session arg to cb.
Now recv_callback and send_callback accepts session argument.
spdylay_session_free was also renamed as spdylay_session_del.
2012-01-24 22:56:26 +09:00
Tatsuhiro Tsujikawa
9c8270436f Added header deflate/inflate using zlib. Added send/recv frame. 2012-01-24 22:02:24 +09:00