| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | tor-proto: add `WithSidechannelMitigations` for flow ctrl | Steven Engler | 7 days | 3 | -11/+30 |
| | | |||||
| * | tor-proto: fix XON conversion from KB/s to B/s | Steven Engler | 2026-07-30 | 1 | -4/+4 |
| | | | | | | We previously interpreted the rate in the XON message as being Kbits per second, but it's really Kbytes per second. | ||||
| * | tor-cell: update docs and variable names for `Xon` | Steven Engler | 2026-07-30 | 2 | -3/+3 |
| | | |||||
| * | tor-cell: rename `XonKbpsEwma` to `XonKBpsEwma` | Steven Engler | 2026-07-30 | 4 | -21/+21 |
| | | |||||
| * | tor-proto: add test-only `NoOpRequestFilter` | Steven Engler | 2026-07-29 | 1 | -0/+16 |
| | | |||||
| * | tor-proto: Remove a redundant explicit link target | Ian Jackson | 2026-07-27 | 1 | -1/+1 |
| | | | | | Found by rustdoc. | ||||
| * | proto: Remove unnecessary result mapping | Gabriela Moldovan | 2026-06-23 | 1 | -1/+1 |
| | | | | | This already returns `()` in the `Ok` case. | ||||
| * | tor-proto: add a unit test for `XonXoffReader` | Steven Engler | 2026-06-16 | 1 | -0/+398 |
| | | | | | | The 'futures' version bump is needed so that our test can use `UnboundedSender::try_recv()` in the minimal-versions CI test. | ||||
| * | tor-proto: add `DrainRateNotifier` trait for `XonXoffReader` | Steven Engler | 2026-06-10 | 1 | -13/+35 |
| | | | | | This will allow us to add a unit test for `XonXoffReader`. | ||||
| * | maint: Run maint/add_warning to deny string slices | Clara Engler | 2026-06-09 | 1 | -0/+1 |
| | | | | | | | | | | | | | This commit executes maint/add_warning with the just added change to deny string slices except in tests. I recommend auditing this by checking out the previous commit followed by running the script yourself and then verifying that the diff is identical to this commit. This commit makes cargo clippy fail. We will add exceptions in the next commit. | ||||
| * | Merge branch 'socket-buf-size' into 'main' | opara | 2026-05-21 | 1 | -0/+1 |
| |\ | | | | | | | | | | | | | Set socket buffer sizes (`SO_SNDBUF` and `SO_RCVBUF`) for proxy sockets Closes #2500 See merge request tpo/core/arti!3957 | ||||
| | * | tor-proto: add note about proxy socket buf sizes | Steven Engler | 2026-05-07 | 1 | -0/+1 |
| | | | |||||
| * | | tor-proto: have `StreamReqInfo` store a `ReactorStreamComponents` | Steven Engler | 2026-05-21 | 1 | -24/+3 |
| | | | |||||
| * | | tor-proto: add a TODO item for XON/XOFF flow control | Steven Engler | 2026-05-21 | 1 | -0/+3 |
| | | | |||||
| * | | tor-proto: small comment improvements | Steven Engler | 2026-05-20 | 2 | -1/+3 |
| | | | |||||
| * | | tor-proto: remove unneeded type alias | Steven Engler | 2026-05-20 | 1 | -5/+2 |
| | | | |||||
| * | | tor-proto: always use a bounded mpsc queue for streams | Steven Engler | 2026-05-20 | 1 | -22/+14 |
| | | | | | | | | | | | | | | | | | | | | | | | | | Whether a stream queue should be bounded or unbounded is a decision that needs to be made at runtime depending on the type of flow control used, not at build-time. Window-based flow control should be bounded and XON/XOFF flow control should be unbounded. If we wanted to support both bounded and unbounded queues, it would take a bunch of boilerplate code to wrap the senders and receivers in enums. Instead we make the queue always bounded, but use a large bound for XON/XOFF flow control. | ||||
| * | | tor-proto: add `FlowCtrlHooks::inbound_queue_max_len()` | Steven Engler | 2026-05-20 | 3 | -1/+35 |
| | | | |||||
| * | | tor-proto: rename `{,Half}StreamFlowCtrlInner` variants | Steven Engler | 2026-05-20 | 1 | -10/+10 |
| | | | | | | | | | The common suffix isn't needed. | ||||
| * | | tor-proto: rename `*FlowCtrl::e` to `inner` | Steven Engler | 2026-05-07 | 1 | -15/+15 |
| | | | |||||
| * | | tor-proto: rename `*FlowCtrlEnum` to `*FlowCtrlInner` | Steven Engler | 2026-05-07 | 1 | -14/+14 |
| | | | |||||
| * | | tor-proto: fix flow control for half-streams | Steven Engler | 2026-05-07 | 2 | -19/+74 |
| | | | | | | | | | | | | | | | | | | | | | This moves the window-based flow control for half-streams out of the `HalfStream` and into the `HalfStreamWindowFlowCtrl` object. Now that it's applied only in `HalfStreamWindowFlowCtrl` and not generally for all half-streams, we no longer apply window-based flow control to half-streams when they're really using xon/xoff-based flow control. | ||||
| * | | tor-proto: add prototype for `HalfStreamFlowCtrl` | Steven Engler | 2026-05-07 | 3 | -4/+124 |
| | | | | | | | | | | | This adds the general structure, and we'll fill it in and use it in a following commit. | ||||
| * | | tor-proto: comment change on `StreamFlowCtrl` | Steven Engler | 2026-05-07 | 1 | -1/+6 |
| |/ | |||||
| * | tor-proto: handle a div-by-zero case that should never happen | Steven Engler | 2026-04-13 | 1 | -3/+7 |
| | | | | | | If this is zero, then it means that the consensus had bad values. But may as well check it anyways. | ||||
| * | tor-proto: fix flow control side channel checks | Steven Engler | 2026-04-13 | 1 | -35/+47 |
| | | |||||
| * | tor-proto: change flow control `bytes_sent_total` to `u64` | Steven Engler | 2026-04-13 | 1 | -9/+9 |
| | | |||||
| * | tor-proto: add more tests for flow control | Steven Engler | 2026-04-13 | 1 | -0/+16 |
| | | |||||
| * | tor-proto: change an error to `NotConnected` | Steven Engler | 2026-03-29 | 1 | -3/+7 |
| | | | | | | Returning `CircuitClosed` isn't right here since the circuit may not have closed. | ||||
| * | Fix typos | Tobias Stoeckmann | 2026-03-24 | 1 | -1/+1 |
| | | | | | Typos found with codespell | ||||
| * | proto: Remove unfinished sentence from docs | Gabriela Moldovan | 2026-02-16 | 1 | -2/+0 |
| | | |||||
| * | proto: Update IncomingStreamRequestFilter docs | Gabriela Moldovan | 2026-02-16 | 1 | -2/+3 |
| | | | | | | The `CircHopSyncView` is now the view of a hop, not of the whole circuit. | ||||
| * | proto: Rename CircSyncView to CircHopSyncView | Gabriela Moldovan | 2026-02-16 | 1 | -2/+2 |
| | | | | | And update the docs | ||||
| * | Apply 1 suggestion(s) to 1 file(s) | Nick Mathewson | 2026-01-27 | 1 | -1/+1 |
| | | | | Co-authored-by: carti-it <[email protected]> | ||||
| * | tor-proto: Report CircuitClosed on unexpected stream rx close | Nick Mathewson | 2026-01-22 | 1 | -6/+4 |
| | | | | | | | | | | | | | | | | | As near as I can tell, there are only three ways that the sender corresponding to this rx can be dropped: - `StreamMap::terminate` because the stream object itself was dropped. (But see #2323.) - `StreamMap::close_stream` because an END message or similar has been received. (But see #2322.) - The `StreamMap` has been dropped. The first two cases are already handled, and AFAICT the third can only happen when the circuit hop closes. That makes `CircuitClosed` the appropriate error here, not `StreamProto`. Part of a fix for #2304. | ||||
| * | proto: Fix docs post-refactoring | Gabriela Moldovan | 2026-01-13 | 1 | -2/+2 |
| | | |||||
| * | proto: Dedupe IncomingStreamRequestHandler | Gabriela Moldovan | 2026-01-12 | 1 | -1/+26 |
| | | |||||
| * | proto: Fix a number of newly broken doc links | Gabriela Moldovan | 2025-11-24 | 1 | -1/+1 |
| | | |||||
| * | proto: Adjust docs to refer to the new location of StreamReceiver | Gabriela Moldovan | 2025-11-24 | 1 | -1/+1 |
| | | | | | | | While we still re-export StreamReceiver from the client module, I want to avoid importing it from there in the implementation-agnostic modules, just to make it clearer we're not using client-specific types. | ||||
| * | proto: Move StreamComponents to top-level stream mod | Gabriela Moldovan | 2025-11-24 | 1 | -2/+1 |
| | | |||||
| * | proto: Move raw under top-level stream mod | Gabriela Moldovan | 2025-11-24 | 1 | -0/+164 |
| | | |||||
| * | proto: Move StreamTarget to stream module | Gabriela Moldovan | 2025-11-24 | 1 | -1/+1 |
| | | |||||
| * | proto: Move StreamReqInfo to stream module | Gabriela Moldovan | 2025-11-24 | 1 | -1/+50 |
| | | |||||
| * | proto: Move IncomingStream* types to shared module | Gabriela Moldovan | 2025-11-24 | 1 | -1/+295 |
| | | |||||
| * | proto: Adjust a comment about a buffer size. | Nick Mathewson | 2025-10-28 | 1 | -3/+3 |
| | | |||||
| * | proto: Move dumb pipes to top-lvl stream module | Gabriela Moldovan | 2025-10-21 | 1 | -0/+256 |
| | | |||||
| * | proto: Rename data cmd checkers to {Inbound,Outbound}DataCmdChecker | Gabriela Moldovan | 2025-10-16 | 1 | -3/+3 |
| | | | | | | | 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 Moldovan | 2025-10-16 | 1 | -0/+51 |
| | | | | | | | | 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: Move cmdchecker under top-level stream module. | Gabriela Moldovan | 2025-10-16 | 1 | -0/+55 |
| | | | | | | The CmdChecker will be used by relays too, so I am moving it to the shared `stream` module. | ||||
| * | tor-proto: update unit test | Steven Engler | 2025-10-14 | 1 | -27/+24 |
| | | |||||
