aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-proto/src/stream/flow_ctrl
Commit message (Collapse)AuthorAgeFilesLines
* tor-proto: add `WithSidechannelMitigations` for flow ctrlSteven Engler7 days3-11/+30
|
* tor-proto: fix XON conversion from KB/s to B/sSteven Engler2026-07-301-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 Engler2026-07-302-3/+3
|
* tor-cell: rename `XonKbpsEwma` to `XonKBpsEwma`Steven Engler2026-07-304-21/+21
|
* tor-proto: add a unit test for `XonXoffReader`Steven Engler2026-06-161-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 Engler2026-06-101-13/+35
| | | | This will allow us to add a unit test for `XonXoffReader`.
* Merge branch 'socket-buf-size' into 'main'opara2026-05-211-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 sizesSteven Engler2026-05-071-0/+1
| |
* | tor-proto: add a TODO item for XON/XOFF flow controlSteven Engler2026-05-211-0/+3
| |
* | tor-proto: small comment improvementsSteven Engler2026-05-201-0/+2
| |
* | tor-proto: add `FlowCtrlHooks::inbound_queue_max_len()`Steven Engler2026-05-203-1/+35
| |
* | tor-proto: rename `{,Half}StreamFlowCtrlInner` variantsSteven Engler2026-05-201-10/+10
| | | | | | | | The common suffix isn't needed.
* | tor-proto: rename `*FlowCtrl::e` to `inner`Steven Engler2026-05-071-15/+15
| |
* | tor-proto: rename `*FlowCtrlEnum` to `*FlowCtrlInner`Steven Engler2026-05-071-14/+14
| |
* | tor-proto: fix flow control for half-streamsSteven Engler2026-05-072-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 Engler2026-05-073-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 Engler2026-05-071-1/+6
|/
* tor-proto: handle a div-by-zero case that should never happenSteven Engler2026-04-131-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 checksSteven Engler2026-04-131-35/+47
|
* tor-proto: change flow control `bytes_sent_total` to `u64`Steven Engler2026-04-131-9/+9
|
* tor-proto: add more tests for flow controlSteven Engler2026-04-131-0/+16
|
* proto: Move StreamTarget to stream moduleGabriela Moldovan2025-11-241-1/+1
|
* proto: Adjust a comment about a buffer size.Nick Mathewson2025-10-281-3/+3
|
* tor-proto: update unit testSteven Engler2025-10-141-27/+24
|
* tor-proto: relax XON limitsSteven Engler2025-10-141-3/+13
|
* tor-proto: remove `StreamEndpointType`Steven Engler2025-10-142-23/+6
|
* tor-proto: relax XOFF limitsSteven Engler2025-10-141-22/+30
|
* tor-proto: add derives for `CellCount`Steven Engler2025-10-141-1/+1
|
* proto: Fix flow control docs post-move.Gabriela Moldovan2025-10-071-2/+2
| | | | | | | | | | `StreamFlowCtrl` is no longer accessible via `tor_proto::client`, so I had to update one of the (doc) imports with its new path Also, I had to change a couple of imports to use `DataWriter` and `DataStream` from `crate::client::stream` instead of `crate::client::stream::data`, because the latter is not visible from `flow_ctrl` anymore.
* proto: Move flow_ctrl module under stream (fmt).Gabriela Moldovan2025-10-071-1/+1
|
* proto: Move flow_ctrl module under stream.Gabriela Moldovan2025-10-077-0/+1058
This will be used by exits too, so I am moving it out of `client`.