Commit Graph

625 Commits

Author SHA1 Message Date
Carl Lerche
77681674e2 Start prepping for Sync 2017-08-02 13:43:14 -07:00
Carl Lerche
d06fb48bd2 Remove unused file 2017-08-02 13:10:25 -07:00
Carl Lerche
9d7221e6cf Misc streams cleanup 2017-08-02 13:09:14 -07:00
Carl Lerche
22ebf186c6 Move state into proto::streams 2017-08-02 12:57:49 -07:00
Carl Lerche
341e15769e Move to custom stream storage 2017-08-02 12:55:41 -07:00
Carl Lerche
19e562f9e0 Add some test stubs 2017-08-02 11:43:14 -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
Carl Lerche
a203365d79 Switch to string crate (#6) 2017-07-26 13:20:26 -07:00
Carl Lerche
0f13836504 More test cleanup 2017-07-26 13:08:00 -07:00
Carl Lerche
5dbeb0703b Start breaking out test files 2017-07-26 12:03:35 -07:00
Oliver Gould
b176399892 Merge pull request #5 from carllerche/ver/flow-split
split FlowControl into FlowControlRecv and FlowControlSend
2017-07-24 16:45:39 -07:00
Oliver Gould
596b758d4f Update transport documentation
Now laid out with all send modules over all recv modules
2017-07-24 22:59:09 +00:00
Oliver Gould
1dbbac2c00 split FlowControl into FlowControlRecv and FlowControlSend 2017-07-24 22:01:16 +00:00
Oliver Gould
40b57cb7fa touchup 2017-07-24 16:57:44 +00:00
Oliver Gould
a4cf406c22 trailing ws 2017-07-24 16:47:24 +00:00
Oliver Gould
9a95fc5eef add stream and sink proxy macros 2017-07-24 16:40:29 +00:00
Oliver Gould
9e4464e385 update proxy macro to support additional type params 2017-07-24 15:57:10 +00:00
Oliver Gould
275b835023 unify file/type naming 2017-07-24 15:42:16 +00:00
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