Commit Graph

639 Commits

Author SHA1 Message Date
Carl Lerche
b0e6867877 Fix warnings 2017-08-24 15:52:01 -07:00
Carl Lerche
638791ac6c Remove some CI platforms 2017-08-24 13:09:39 -07:00
Carl Lerche
6a6c9665cd Immediately apply initial window size to streams
The initial window size should be applied to streams once they leave the
IDLE state.
2017-08-24 11:03:33 -07:00
Carl Lerche
66dbde92ef Do not reuse next ptr for multiple linked lists
Because, you might think that each linked list has exclusive access to
the next pointer, but then there is an edge case that proves otherwise.
Also, debugging this kind of thing is annoying.
2017-08-23 20:35:53 -07:00
Carl Lerche
7e8c7fd2b8 Use FlowControl::available to size data frames (#29) 2017-08-23 20:34:58 -07:00
Oliver Gould
f839443ece implement h2::server::Stream::send_reset(Reason) and Body::is_empty() (#22) 2017-08-23 12:48:00 -07:00
Carl Lerche
e8f757457b Update server example 2017-08-23 11:24:54 -07:00
Carl Lerche
807d2b7317 Wire in recv flow control (#26) 2017-08-23 11:22:24 -07:00
Carl Lerche
a623ab68b5 New send flow control (#25)
Restructure send flow control such that sending data is always accepted by `Stream`. Data frames will be buffered until there is available window to send them. Producers can monitor the available window capacity to decide if data should be produced.
2017-08-21 13:52:58 -07:00
Carl Lerche
41b25a4a56 Fix README example 2017-08-17 07:22:26 -07:00
Carl Lerche
cd2bc41adc Improve the README 2017-08-16 22:23:45 -07:00
Carl Lerche
8ea99dd3ff Use travis to run CI 2017-08-16 21:49:25 -07:00
Brian Smith
2992594552 Switch Akamai example from rust-openssl to Rustls. (#24)
With this change, h2 can build and run without any manual configuration steps for -msvc targets. Previously manual installation of OpenSSL libraries was required.
2017-08-16 21:43:35 -07:00
Brian Smith
72f1d372af Fix build by upgrading tokio-io dependency to tokio-io 0.1.3. (#23)
tokio-io 0.1.3 has been published so the "replace" for tokio-io 0.1.2 is no longer useful and it breaks the build with some (but apparently not all) versions of Cargo.

Update the dependency to tokio-io 0.1.3 since that is the version that's what's been verified to work.
2017-08-16 21:40:53 -07:00
Carl Lerche
de96b2f410 Add another test 2017-08-16 12:43:48 -07:00
Oliver Gould
e015d7bfba Implement Client::poll_ready (#21)
Client::poll_ready ensures that the connection is ale to to initiate a new request stream to the remote server.  When the server is at capacity, a task is stored to be notified when capacity is available.
2017-08-15 13:46:55 -07:00
Carl Lerche
150c3160be Get large body writes working 2017-08-12 11:02:50 -07:00
Carl Lerche
570962353b Work on prioritization 2017-08-11 21:57:44 -07:00
Carl Lerche
3b2ad536d9 Fix bug in prioritization 2017-08-11 19:01:54 -07:00
Carl Lerche
8a15663ed2 Progress towards allowing large writes 2017-08-11 16:57:51 -07:00
Carl Lerche
32d4c2d5a9 Many more changes 2017-08-11 12:00:22 -07:00
Carl Lerche
012646ab46 Validate settings 2017-08-10 23:25:36 -07:00
Carl Lerche
23b2ef49cc Stub out priority 2017-08-10 23:17:21 -07:00
Carl Lerche
c439232ed2 Handle more H2 details 2017-08-10 21:08:57 -07:00
Carl Lerche
e2fac3e823 More tweaks 2017-08-10 20:35:41 -07:00
Carl Lerche
10fd4ae7ed Wire up trailers 2017-08-10 20:24:52 -07:00
Carl Lerche
48c9734249 Support receiving continuation frames 2017-08-10 20:14:00 -07:00
Carl Lerche
0d61832bf3 Extra log output 2017-08-10 16:13:36 -07:00
Carl Lerche
a61562f6b8 Add GoAway support 2017-08-10 14:19:46 -07:00
Carl Lerche
1974780504 Add a quick README 2017-08-10 14:00:51 -07:00
Carl Lerche
50e0ad2f2a Handle padding & stream priority when parsing headers frame 2017-08-10 13:55:36 -07:00
Carl Lerche
e7c07b0b12 More debug output 2017-08-10 13:34:04 -07:00
Carl Lerche
a1b03b7724 Trying to get something working 2017-08-10 13:15:40 -07:00
Carl Lerche
6c962491c6 Test and fix store::List::retain 2017-08-10 10:14:22 -07:00
Carl Lerche
7107e9fc06 More work on window updates 2017-08-09 22:34:22 -07:00
Carl Lerche
c118f86517 More flow control work 2017-08-09 16:42:55 -07:00
Carl Lerche
95bb95af01 More send flow control 2017-08-09 14:37:41 -07:00
Carl Lerche
a8c8cdb8e9 Fix build 2017-08-09 14:17:55 -07:00
Carl Lerche
dfec401fdf WIP: send flow control 2017-08-09 14:16:32 -07:00
Carl Lerche
87c4d36b0c Delete comments 2017-08-09 11:47:15 -07:00
Carl Lerche
0bf0e79132 Tweaks 2017-08-09 11:43:55 -07:00
Carl Lerche
f39e983af0 Actually get server working (maybe) 2017-08-09 10:49:49 -07:00
Carl Lerche
8f2b69c280 Get server working again (mostly) 2017-08-09 10:36:03 -07:00
Carl Lerche
38762a9711 Get server module compiling again 2017-08-08 22:25:05 -07:00
Carl Lerche
26df3a3698 Remove P generic from type 2017-08-08 22:11:11 -07:00
Carl Lerche
6a84a93f2e Merge pull request #12 from carllerche/stream-api
Restructure API using a handle per stream
2017-08-08 15:42:24 -07:00
Carl Lerche
8a5e0c3046 More tweaks 2017-08-08 14:26:38 -07:00
Carl Lerche
8485bf91e7 Start hooking up reset 2017-08-08 13:48:29 -07:00
Carl Lerche
314b7a1848 Wire in PushPromise 2017-08-08 13:32:36 -07:00
Carl Lerche
fa66323cec Akamai request kind of works 2017-08-08 09:47:29 -07:00