aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-proto/src/client/stream/data.rs
Commit message (Collapse)AuthorAgeFilesLines
* proto: Add crate-level exports for two extra stream types (fmt)Gabriela Moldovan2026-06-171-1/+1
|
* proto: Move RateLimitedWriter to tor-async-utilsDavid Goulet2026-06-081-2/+3
| | | | Signed-off-by: David Goulet <[email protected]>
* proto: Set the ClientDataStreamCtrl to None for relay streams (fmt)Gabriela Moldovan2026-06-081-5/+7
|
* proto: Set the ClientDataStreamCtrl to None for relay streamsGabriela Moldovan2026-06-081-3/+3
| | | | Previously this would panic.
* proto: Make the ClientDataStreamCtrl optional throughoutGabriela Moldovan2026-06-081-12/+22
| | | | | | | We will reuse `DataStream` for relay exit streams, and those aren't going to have a `ClientDataStreamCtrl`. Part of #2557
* proto: Replace outdated references to RawCellStreamGabriela Moldovan2026-05-281-1/+1
| | | | | `RawCellStream` was removed long ago, in c559754116678866eabe525f5b189b50cc78b5cc.
* proto: Allow DataStreamCtrl and ClientTunnel to be RPC objects.Nick Mathewson2026-04-281-0/+5
|
* proto: Fix relay/hs-service feature gatingGabriela Moldovan2025-12-081-1/+1
| | | | | Without this, `tor-proto` doesn't compile if you enable the `relay` feature but not `hs-service`.
* proto: Add a Tunnel::Relay variant for StreamTargetGabriela Moldovan2025-11-241-5/+13
|
* proto: Move StreamTarget to stream moduleGabriela Moldovan2025-11-241-1/+2
|
* proto: Rename data cmd checkers to {Inbound,Outbound}DataCmdCheckerGabriela Moldovan2025-10-161-4/+4
| | | | | | The previous "incoming" terminology was rather ambiguous. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3348#note_3275337
* proto: Move IncomingDataCmdChecker to top-level stream module.Gabriela Moldovan2025-10-161-48/+0
| | | | | | | This will be used by relays too (for validating incoming messages on streams). This is just code motion, so it's best reviewed with `--color-moved`.
* proto: Split out DataCmdChecker into multiple types (fmt).Gabriela Moldovan2025-10-161-1/+1
|
* proto: Split out DataCmdChecker into multiple types.Gabriela Moldovan2025-10-161-11/+46
| | | | | | | | | | | The incoming one will be used for the exit relay implementation too. Also, with this change, receiving `CONNECTED` on an incoming stream will result in a clearer error message. Previously, the check against receiving `CONNECTED` on an incoming stream was bundled with the double-CONNECTED check for client data streams, so in the incoming stream case, the error message was misleading ("Received CONNECTED twice on a stream.").
* proto: Do not fully-qualify Arc.Gabriela Moldovan2025-10-161-3/+3
| | | | | `Arc` is already in scope, and not fully-qualifying it makes it more readable.
* proto: Replace fully-qualified paths with use (fmt).Gabriela Moldovan2025-10-161-4/+1
|
* proto: Replace fully-qualified paths with use.Gabriela Moldovan2025-10-161-4/+4
|
* proto: Reformat imports post-move.Gabriela Moldovan2025-10-161-1/+1
|
* proto: Avoid crate-pub reexports of shared types from the client module.Gabriela Moldovan2025-10-161-5/+4
| | | | | This makes it easier to see which parts are implementation-agnostic (i.e. do not import from crate::client).
* proto: Move flow_ctrl module under stream (fmt).Gabriela Moldovan2025-10-071-4/+2
|
* proto: Move flow_ctrl module under stream.Gabriela Moldovan2025-10-071-2/+2
| | | | This will be used by exits too, so I am moving it out of `client`.
* tor-proto: remove a `pub(crate) use` from `client::stream`Steven Engler2025-09-101-1/+2
| | | | | For internal types, I think it becomes too much of a mess to export everything through a single module.
* tor-proto: reorganize some flow control modulesSteven Engler2025-09-101-1/+3
| | | | This is all private (or pub(crate)) code.
* proto: Move the `stream` module under `client` (breaking).Gabriela Moldovan2025-08-181-0/+1268
The `stream` module is client-specific, for the most part, so I am moving it under `client`. Later on, we will factor out the parts that can be shared with the relay implementation. Note: this is a breaking change as the deleted `stream` module was `pub`. We could've kept the module and reexported from it the public types from `tor_proto::client::stream`, but I think it's better to have this `client` namespacing, because it makes the separation between the client and relay parts clearer.