| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Move DataStream into its own module. | Nick Mathewson | 2021-03-10 | 1 | -204/+2 |
| | | |||||
| * | Move ResolveStream to its own module. | Nick Mathewson | 2021-03-10 | 1 | -35/+3 |
| | | |||||
| * | Move RawCellStream into its own module. | Nick Mathewson | 2021-03-10 | 1 | -86/+5 |
| | | |||||
| * | Rename TorStream => RawCellStream | Nick Mathewson | 2021-03-10 | 1 | -16/+16 |
| | | |||||
| * | Refactor DataStream constituents a bit. | Nick Mathewson | 2021-03-09 | 1 | -33/+93 |
| | | | | | | | | | | These new (internal so far) APIs correspond more closely to what we'll need for AsyncRead and AsyncWrite. We also make write methods take a mutable reference to self, since that seems to be (closer to) what the AsyncRead/AsyncWrite code expects. | ||||
| * | When a stream read fails, block writes too. | Nick Mathewson | 2020-12-22 | 1 | -13/+10 |
| | | | | | Closes arti#49. | ||||
| * | Fix some rustdoc warnings. | Nick Mathewson | 2020-12-09 | 1 | -1/+1 |
| | | |||||
| * | Mark some XXXX issues as XXXX-A1. | Nick Mathewson | 2020-12-07 | 1 | -3/+3 |
| | | |||||
| * | Refactor DataStream to be splittable, and have internal locking. | Nick Mathewson | 2020-11-04 | 1 | -8/+57 |
| | | | | | This lets me fix the deadlock in the proxy code. | ||||
| * | stream: Update to enable more fine-grained locking | Nick Mathewson | 2020-11-04 | 1 | -15/+26 |
| | | | | | | Not sure this is quite right, or quite deadlock free, but it lets us read/write cells on a stream we haven't locked. | ||||
| * | Unify interface for detecting stream close. | Nick Mathewson | 2020-10-27 | 1 | -2/+1 |
| | | |||||
| * | Resolve a bunch of XXXM3 comments in tor-proto. | Nick Mathewson | 2020-10-26 | 1 | -9/+2 |
| | | |||||
| * | Improve documentation in tor-proto | Nick Mathewson | 2020-10-26 | 1 | -1/+1 |
| | | |||||
| * | Add a close() method for streams | Nick Mathewson | 2020-10-20 | 1 | -0/+8 |
| | | |||||
| * | Mark must-resolve XXXX issues with "XXXXM3". | Nick Mathewson | 2020-10-18 | 1 | -2/+2 |
| | | | | | | | | | | | "M3" is for "milestone 3" -- my target to fix the technical debt that I think will be bad if we ship even a pre-alpha with it. These aren't necessarily _all_ must-resolve, but they're all must-look-at. Closes #15 | ||||
| * | Document all private members in tor-proto | Nick Mathewson | 2020-10-13 | 1 | -0/+14 |
| | | |||||
| * | Make sure that protocol errors terminate the circuit responsible. | Nick Mathewson | 2020-10-13 | 1 | -9/+18 |
| | | |||||
| * | Try giving distinct handling to streams where END has been sent | Nick Mathewson | 2020-10-12 | 1 | -7/+2 |
| | | | | | | | This is the first step along the line to handling Tor issue tor#27557. We want to remember streams that we've ended and treat them as distinct from streams that have never existed | ||||
| * | Move counts_towards_windows() code into circuit module | Nick Mathewson | 2020-10-09 | 1 | -1/+1 |
| | | |||||
| * | Rename remaining get_ accessors | Nick Mathewson | 2020-09-28 | 1 | -2/+2 |
| | | |||||
| * | Fix a few clippy issues | Nick Mathewson | 2020-09-27 | 1 | -1/+3 |
| | | |||||
| * | Split the cell-handling parts of tor-proto into a new crate. | Nick Mathewson | 2020-09-26 | 1 | -1/+1 |
| | | |||||
| * | Lower our "#[allow(dead_code)]" decl in tor_proto." | Nick Mathewson | 2020-09-25 | 1 | -0/+1 |
| | | |||||
| * | Improve documentation and lightly refactor SENDME code | Nick Mathewson | 2020-09-25 | 1 | -1/+3 |
| | | |||||
| * | Attempted implementation of stream sendme cells | Nick Mathewson | 2020-09-25 | 1 | -5/+28 |
| | | |||||
| * | Initial error cleanup on streams/circuits | Nick Mathewson | 2020-09-25 | 1 | -12/+12 |
| | | |||||
| * | Migrate ClientMain to byte-oriented API. | Nick Mathewson | 2020-09-24 | 1 | -2/+2 |
| | | |||||
| * | Try to make a send/receive style API for streams. | Nick Mathewson | 2020-09-24 | 1 | -2/+121 |
| | | |||||
| * | Add support for RELAY_END cells. | Nick Mathewson | 2020-09-24 | 1 | -2/+0 |
| | | | | | | | | | | | | | | | | | | | | | This was a hard one. I need to make sure that we send an END cell when the stream is dropped. But we can't call an .await from inside the drop() function, since drop() isn't async, and we don't have an executor. Fortunately, you can call send() on a oneshot::Sender without having to await on it, so that's the obvious thing to put in drop(). But we need some way to make sure that the oneshot::Receiver is given to the reactor, and is .awaited. For that, we needed a control channel. And the reactor needs to treat the control channel and the close messages as equally important. So that's how I wound up with a Fuse<Select<mpsc::Receiver<Result<Foo>>, SelectAll<Once<oneshot::Receiver<Foo>>>>>. I doubt that this is actually the best way to handle any of this! | ||||
| * | Fix some errors; document some places where error handling is bogus | Nick Mathewson | 2020-09-21 | 1 | -0/+2 |
| | | |||||
| * | More documentation for channel, circuit, stream. | Nick Mathewson | 2020-09-21 | 1 | -1/+4 |
| | | |||||
| * | Start implementing streams and circuit-level reactors. | Nick Mathewson | 2020-09-21 | 1 | -0/+51 |
| Also, revise nearly all of the circuit/channel interaction to actually send relay cells to the right place and do sensible things with them. | |||||
