Commit Graph

63 Commits

Author SHA1 Message Date
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
8f2b69c280 Get server working again (mostly) 2017-08-09 10:36:03 -07:00
Carl Lerche
26df3a3698 Remove P generic from type 2017-08-08 22:11:11 -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
Carl Lerche
441a8416c6 Handle the remote returning a protocol error 2017-08-07 22:35:29 -07:00
Carl Lerche
71acfe3961 Start hooking up data receiving 2017-08-07 12:17:52 -07:00
Carl Lerche
1c55ad75ea More code 2017-08-04 17:25:39 -07:00
Carl Lerche
fc0a7eb898 More work 2017-08-04 12:12:22 -07:00
Carl Lerche
dd8412d660 Much work 2017-08-03 15:50:13 -07:00
Carl Lerche
7a804601c5 A lot of structural work 2017-08-03 11:40:50 -07:00
Carl Lerche
e810b30999 Track http crate changes 2017-08-03 10:00:50 -07:00
Carl Lerche
9f9bf85168 More restructuring 2017-08-02 14:48:10 -07:00
Carl Lerche
a3cbf2d7ac Wire up Trailers frame 2017-08-02 11:34:34 -07:00
Carl Lerche
33bdc057d6 Restructure proto
The existing code has been moved out and is being copied back piece / by
piece while restructuring the code to (hopefully) be more manageable.
2017-08-02 09:42:10 -07:00
Carl Lerche
13d6866ee8 Simplify control streams (#8) 2017-07-26 16:53:31 -07:00
Oliver Gould
bd3a07f9e7 Since ReadySink isn't public yet, expose Connection::is_ready(). (#7)
Also use http from master
2017-07-26 14:15:47 -07:00
Oliver Gould
a4cf406c22 trailing ws 2017-07-24 16:47:24 +00:00
Oliver Gould
5b3f27c5fa Use macros for proxying internal interfaces. 2017-07-23 19:18:14 +00:00
Oliver Gould
df5f31a63c narrow the surface area of the ControlSettings api to expose only a few remote settings 2017-07-23 18:34:50 +00:00
Oliver Gould
bf724bd53e expose ControlPing to Connection 2017-07-22 21:23:24 +00:00
Oliver Gould
f121f747ac tests pass 2017-07-22 21:16:53 +00:00
Oliver Gould
7951def04d fixup tests 2017-07-22 20:23:14 +00:00
Oliver Gould
44edd6a4d4 clear some warnings 2017-07-20 18:29:36 +00:00
Oliver Gould
a62d3dda54 wip: refactor, compiles 2017-07-20 14:51:27 +00:00
Oliver Gould
0d84c98c89 wip 2017-07-19 19:53:33 +00:00
Oliver Gould
df589f2fde Address feedback on ControlFlow and FlowControl
ControlFlow::poll_window_update now exposes, effectively, a Stream of
WindowUpdates.  Callers no longer poll on invidual stream IDs. To
accomplish this, FlowControl maintains a queue of pending remote stream
ids.

Improve/shorten naming throughout FlowControl.

FlowControlState::check_window has been added so that FlowControl is now
consistent in the face of stream-level flow control errors.

Connection now exposes the ControlFlow functions without exposing the
ControlFlow interface publicly.
2017-07-18 22:36:41 +00:00
Oliver Gould
79d3aee1dc refuse streams that would violate max concurrency settings.
improve ping control API
2017-07-17 22:18:03 +00:00
Oliver Gould
fb4f0bc5af resets too 2017-07-17 08:18:38 +00:00
Oliver Gould
990e5c5aae hooray! we don't have to track data_len on its own 2017-07-17 04:27:44 +00:00
Oliver Gould
c1f9ff8fd8 wip: problems with Frame::len() 2017-07-17 01:07:21 +00:00
Oliver Gould
d448c53472 expose a ControlPing api
document transports

properly handle connection flow control tracking.
2017-07-16 23:37:31 +00:00
Oliver Gould
b0fd2bfac0 test flow control state 2017-07-16 20:11:36 +00:00
Oliver Gould
06d9978c53 nit on naming 2017-07-16 17:08:39 +00:00
Oliver Gould
76dbb5d285 wire up flow control polling through connection 2017-07-16 16:10:01 +00:00
Oliver Gould
e90a6e9250 wip: start splitting out stream management 2017-07-15 22:50:13 +00:00
Oliver Gould
59c92e1089 wire up remote settings application 2017-07-15 21:07:21 +00:00
Oliver Gould
1ed4b7e56a wip: Sketch out stream state refactor
introduce the StreamTransporter trait, which exposes a map containing
all active stream states.

add skeletons for StreamTracker and FlowControl.  StreamTracker drives
all state changes
2017-07-15 18:39:45 +00:00
Oliver Gould
d0c55c52e9 clarify terminology and fix several obvious bugs in the process 2017-07-13 06:43:28 +00:00
Oliver Gould
cc97653fd7 hmmmmm two tests are failing... handshake and get_with_204_response 2017-07-13 03:47:31 +00:00
Oliver Gould
052ff83e24 logging 2017-07-13 03:07:10 +00:00
Oliver Gould
cbd3e17283 ok, starting to look good 2017-07-13 02:24:36 +00:00
Oliver Gould
41ffd1d44f closer to flow control 2017-07-12 21:04:58 +00:00
Carl Lerche
36a1c6f045 More tests 2017-07-11 20:50:41 -07:00
Oliver Gould
b9f3556070 Merge branch 'master' into ver/flowio 2017-07-10 01:15:36 +00:00
Oliver Gould
d269029dd6 wip 2017-07-10 00:46:20 +00:00
Oliver Gould
d7b82cd50b wip 2017-07-09 06:01:42 +00:00