Commit Graph

154 Commits

Author SHA1 Message Date
Oliver Gould
1069629aef put each interface in its own file 2017-07-24 15:33:48 +00:00
Oliver Gould
f3115d1b6f rename StreamStore => StreamStates 2017-07-23 19:25:12 +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
82ba0dde71 update comments 2017-07-23 18:01:02 +00:00
Oliver Gould
4f723fffce clarify stream state management -- pattern matching ftw 2017-07-23 15:51:39 +00:00
Oliver Gould
bf724bd53e expose ControlPing to Connection 2017-07-22 21:23:24 +00:00
Oliver Gould
55465a5954 settings todo 2017-07-22 21:17:57 +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
067ec846e1 wip 2017-07-22 19:50:17 +00:00
Oliver Gould
b7ca796e21 rm unused fn 2017-07-22 19:11:48 +00:00
Oliver Gould
d5d47b08ca testing, debugging, making things private 2017-07-22 18:30:32 +00:00
Oliver Gould
ab4f85ea2f wip: stream state management seems good, but tests fail 2017-07-22 17:30:40 +00:00
Oliver Gould
d7042097c4 wip: stream open 2017-07-21 16:35:00 +00:00
Oliver Gould
8453435422 wip: improve split stream tracking 2017-07-21 01:30:39 +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
50545963c9 update stream tracker TODOs 2017-07-17 22:42:56 +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
76cb8e15fd move streammap to state.rs 2017-07-17 05:02:11 +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
85626f5a79 reintroduce state tracking, separate from flow tracking 2017-07-16 02:15:37 +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
Carl Lerche
c061777663 Add large body test 2017-07-12 14:42:08 -07: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
Carl Lerche
fab9fa8ed2 More tests 2017-07-11 14:28:40 -07:00
Carl Lerche
4e0e01aa5c More tests 2017-07-11 14:01:25 -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
Carl Lerche
6d1d54f104 Stub out window update 2017-07-08 22:36:24 -07:00
Carl Lerche
981af88838 Get data frames working 2017-07-08 22:23:44 -07:00
Oliver Gould
7632a016df Merge branch 'master' into ver/flowio 2017-07-09 03:34:44 +00:00
Oliver Gould
36aa0892c2 wip 2017-07-09 03:34:31 +00:00