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
876c33c562
Merge branch 'master' of https://github.com/sorced-jim/spdylay into sorced-jim-master
...
Conflicts:
examples/spdylay_ssl.cc
tests/Makefile.am
tests/main.c
Changes:
spdylay_select_next_protocol() returns -1 if it fails.
Use cunit without pkg-config because debian does not provide .pc file.
Some doc updates to suite my taste.
Added spdylay_npn.h
2012-02-03 23:53:43 +09:00
Jim Morrison
ea60bd8c6e
Add an NPN callback helper that finds the correct version of spdy
2012-02-02 16:31:11 -08:00
Tatsuhiro Tsujikawa
df4a1b8da4
Updated doc
2012-02-02 23:23:35 +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
bb6a90dc4d
Added spdylay_stream_add_pushed_stream
...
With this function and 3 new member in spdylay_stream, we can track server-
pushed streams which associate them to this stream.
2012-02-02 21:51:52 +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
24eb3a3b36
SETTINGS ID is little endian in wire format despite the fact that spec/2 says it is network byte order.
2012-02-01 01:13:17 +09:00
Tatsuhiro Tsujikawa
f429cc45cb
Added SETTINGS send/recv. Added missing RST_STREAM send.
2012-02-01 01:12:26 +09:00
Tatsuhiro Tsujikawa
0b75800c23
Added SETTINGS frame and its pack/unpack functions.
2012-02-01 00:26:26 +09:00
Tatsuhiro Tsujikawa
49096387c3
Added seq sort key in ob_pq to preserve the queueing order if priorit is the same.
2012-01-31 22:48:09 +09:00
Tatsuhiro Tsujikawa
b87eb8987e
Fixed compile error with gcc-4.4
2012-01-31 21:32:46 +09:00
Tatsuhiro Tsujikawa
1139502675
Removed on_ping_recv_callback. Removed last_ping_time from spdylay_session.
2012-01-31 21:29:46 +09:00
Jim Morrison
732f1cf21f
Include sys/types.h
2012-01-30 17:11:14 -08:00
Tatsuhiro Tsujikawa
856d230595
The response DATA frame is now queued after SYN_STREAM/SYN_REPLY has been sent.
...
This is because our priority queue implementation does not have stable sort
property, so queueing SYN_STREAM, DATA in this order does not necessarily
mean SYN_STREAM will be sent first.
2012-01-30 23:55:00 +09:00
Tatsuhiro Tsujikawa
e5dc14e20c
Use CLOCK_MONOTONIC_RAW
2012-01-30 22:52:56 +09:00
Tatsuhiro Tsujikawa
6e12291ae1
Added spdylay_on_stream_close_callback
2012-01-29 23:00:33 +09:00
Tatsuhiro Tsujikawa
bf1be4850e
spdylay_submit_request: Fixed segmentation fault if data_prd is NULL
2012-01-29 19:15:59 +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
c6a0fd06c1
Added doc
2012-01-29 17:07:13 +09:00
Tatsuhiro Tsujikawa
925078c199
Added handling of EOF from recv_callback
2012-01-29 16:46:18 +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
ebd3dc9dcc
Fixed bug that unique_id is not incremented by 2.
2012-01-29 02:00:03 +09:00
Tatsuhiro Tsujikawa
8afb91bae8
Added public API headers for distribution
2012-01-29 00:22:50 +09:00
Tatsuhiro Tsujikawa
580638c482
Made spdylay_session_open_stream return a pointer to created spdylay_stream.
2012-01-29 00:16:51 +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
e7489503b8
Check protocol version. Check incoming DATA frame's stream ID.
2012-01-28 22:46:12 +09:00
Tatsuhiro Tsujikawa
31aff01697
Added spdylay_submit_goaway()
2012-01-28 19:35:51 +09:00
Tatsuhiro Tsujikawa
aed626bfa5
Added GOAWAY handling
2012-01-28 19:22:38 +09:00
Tatsuhiro Tsujikawa
cb58e6e893
Added NOOP handling
2012-01-28 17:29:22 +09:00
Tatsuhiro Tsujikawa
27e1bcab9e
Added spdylay_before_ctrl_send_callback
2012-01-28 17:25:14 +09:00
Tatsuhiro Tsujikawa
a657208ffd
Added spdylay_on_{ctrl,data}_sent_callback functions
2012-01-28 04:28:39 +09:00
Tatsuhiro Tsujikawa
1ce97c7d5e
Reorder arguments of spdylay_on_data*_recv_callback
2012-01-28 04:20:19 +09:00
Tatsuhiro Tsujikawa
b35f019811
Added callback functions for DATA frames. Fixed unpacking length field.
2012-01-28 03:54:53 +09:00
Tatsuhiro Tsujikawa
de57b6efea
Sort nv in spdylay_submit_request and spdylay_submit_response
2012-01-28 00:09:01 +09:00
Tatsuhiro Tsujikawa
4c6765e1ed
Added doc
2012-01-27 23:43:04 +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
9f2f6454f3
Added handling of received RST_STREAM
2012-01-27 23:22:27 +09:00
Tatsuhiro Tsujikawa
0ecf581e63
UNIDIRECTIONAL handling when SYN_REPLY and HEADERS are received.
2012-01-27 23:17:03 +09:00
Tatsuhiro Tsujikawa
d1c4c59aad
Added handling of received PING
2012-01-27 23:05:29 +09:00
Tatsuhiro Tsujikawa
9461147968
Added pack/unpack of PING
2012-01-27 19:35:05 +09:00
Tatsuhiro Tsujikawa
a59c3efedb
Added handling when HEADERS is received.
2012-01-27 19:10:13 +09:00
Tatsuhiro Tsujikawa
74673013ae
Define constant for nv pair offset. Defined SPDYLAY_PROTO_VERSION.
2012-01-27 18:28:29 +09:00
Tatsuhiro Tsujikawa
1c0ec66a2b
Added HEADERS frame. Added SPDYLAY_FRAME_HEAD_LENGTH.
2012-01-27 18:21:14 +09:00
Tatsuhiro Tsujikawa
83b4e245d9
Removed debug output
2012-01-27 17:47:39 +09:00
Tatsuhiro Tsujikawa
29df087ae8
Set FIN bit set in stream when requet DATA frame with FIN bit set is sent.
2012-01-27 17:22:17 +09:00
Tatsuhiro Tsujikawa
7272782f67
Close the stream if SYN_REPLY with FIN bit set is received.
2012-01-27 17:15:24 +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
f642bb98c7
Added spdylay_map_size()
2012-01-26 02:28:58 +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
1ce2598758
Fixed bug that causes segmentation fault when erasing key which does not exist in map.
2012-01-26 00:21:31 +09:00
Tatsuhiro Tsujikawa
800b362935
Updated doc
2012-01-25 23:55:11 +09:00
Tatsuhiro Tsujikawa
46478c2398
Make sure that pri in SYN_STREAM is 0(highest) to 3(lowest).
...
Use stream->pri for priority of SYN_REPLY.
2012-01-25 23:52:32 +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
6629f35a94
Define mask for fields
2012-01-25 21:35:48 +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
fa549aa3a7
Added state and flags to spdylay_stream
2012-01-24 23:18:50 +09:00
Tatsuhiro Tsujikawa
5ececcd8e7
Added test
2012-01-24 23:06:58 +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
Tatsuhiro Tsujikawa
1330d74b73
Added struct of fixed sized chunk buffers backed by queue
2012-01-20 01:04:13 +09:00
Tatsuhiro Tsujikawa
09e57a1978
Fixed memory leak
2012-01-20 00:00:37 +09:00
Tatsuhiro Tsujikawa
1000998228
Added spdylay_queue
2012-01-19 21:57:26 +09:00
Tatsuhiro Tsujikawa
a03afa6a82
Added spdylay_map. Added missing tests/main.c
2012-01-19 21:36:13 +09:00
Tatsuhiro Tsujikawa
f7f3472c98
Added extern "C"
2012-01-18 21:36:29 +09:00
Tatsuhiro Tsujikawa
3d7bd0accb
Moved spdylay_pq_compar to spdylay_int.h and renamed as spdylay_compar
2012-01-18 21:35:05 +09:00
Tatsuhiro Tsujikawa
0eebf89f35
Added priority queue
2012-01-18 02:10:22 +09:00
Tatsuhiro Tsujikawa
1f5bc832f8
Added libtool files
2012-01-18 00:53:12 +09:00