<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/stream.rs, branch arti-v1.4.3</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.3</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.3'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-02-20T20:15:12Z</updated>
<entry>
<title>tor-proto: Add a tunnel module.</title>
<updated>2025-02-20T20:15:12Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-02-13T16:58:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=31ee1dbbe88f92d99d66614d0625cb6e87d48edd'/>
<id>urn:sha1:31ee1dbbe88f92d99d66614d0625cb6e87d48edd</id>
<content type='text'>
Move StreamTarget to the tunnel module and the circuit module.

From now on streams will be implemented on tunnels, not circuits.

This moves `StreamTarget` to the tunnel module. A future change will
replace `ClientCirc` with `ClientTunnel` inside `StreamTarget`.

This is mostly code motion, best reviewed with `--color-moved`.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Rename DataStreamCtrl to ClientDataStreamCtrl</title>
<updated>2025-01-30T16:11:01Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-01-30T15:31:51Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=af6ba7ea0379e2129e1cef1952d193f6783c5bbb'/>
<id>urn:sha1:af6ba7ea0379e2129e1cef1952d193f6783c5bbb</id>
<content type='text'>
The API for this type, and the fact that it implements
ClientStreamCtrl unconditionally, means that it is only for client
DataStreams.
</content>
</entry>
<entry>
<title>tor-proto: Encapsulate flow-control</title>
<updated>2024-08-13T19:46:46Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2024-08-12T20:49:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4df401ec43b8f1c4e2eff662f1173847718cc3a4'/>
<id>urn:sha1:4df401ec43b8f1c4e2eff662f1173847718cc3a4</id>
<content type='text'>
Encapsulate flow-control into a separate object that partially abstracts
away the difference between window-based (legacy) flow control and
xon-based (prop324) flow control.
</content>
</entry>
<entry>
<title>Add an IncomingStreamRequestFilter to check early properties</title>
<updated>2024-03-26T16:55:05Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-03-20T15:39:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=25da33c91ccbd3ac266edf871925ee6a341d4729'/>
<id>urn:sha1:25da33c91ccbd3ac266edf871925ee6a341d4729</id>
<content type='text'>
Based on designs in #1124.

Note that there is a TODO here about a hack I had to do to appease
the borrow checker.
</content>
</entry>
<entry>
<title>tor-proto: Add IncomingCmdChecker for IncomingStream.</title>
<updated>2023-08-03T15:18:35Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-07-28T10:04:23Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3d5c712c552588b9f3cecb5e0ace74a71ff18acc'/>
<id>urn:sha1:3d5c712c552588b9f3cecb5e0ace74a71ff18acc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>proto: Create a `DataStreamCtrl` type.</title>
<updated>2023-05-22T15:27:44Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-05-22T15:15:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0df0cf425032ff05d0d405d82436cbfd86faf3ac'/>
<id>urn:sha1:0df0cf425032ff05d0d405d82436cbfd86faf3ac</id>
<content type='text'>
The idea here is that we want to make DataStream visible to the
RPC system without requiring that the RPC session hold the
DataStream itself (or the Reader, or the Writer).  We could solve
this problem by making _all_ the state in the DataStream shared,
but that would introduce unnecessary extra locking in our critical
path.

Instead we're creating the notion of a "control handle" that lets
you manage and observe a stream without actually owning the stream.

Right now the only supported functionality is asking for the
stream's circuit.

Part of #847
</content>
</entry>
<entry>
<title>Rename onion-* cargo features to hs-* in tor-* crates</title>
<updated>2023-02-28T11:10:17Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-02-24T14:26:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f63c7c48afd94fe9d09746f0b76fbaff8d4a1a79'/>
<id>urn:sha1:f63c7c48afd94fe9d09746f0b76fbaff8d4a1a79</id>
<content type='text'>
Fixes #756
</content>
</entry>
<entry>
<title>tor-proto: Introduce CmdChecker, and define it for our streams.</title>
<updated>2023-02-17T16:50:27Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-17T16:50:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c5be3c089efc75453762ea975a9a96e6560057dc'/>
<id>urn:sha1:c5be3c089efc75453762ea975a9a96e6560057dc</id>
<content type='text'>
The role of CmdChecker is to verify that messages are arriving at
the appropriate sequence on a stream, with respect to the other
messages that have been received.  Once the stream becomes
half-closed, the CmdChecker is also in charge of consuming incoming
messages on the stream and making sure that they are well-formed.
</content>
</entry>
<entry>
<title>tor-proto: Draft API to handle incoming BEGIN requests.</title>
<updated>2023-01-17T20:20:03Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-01-11T19:43:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=12845d6e1ede396cd85fbacec3656b926e0896bc'/>
<id>urn:sha1:12845d6e1ede396cd85fbacec3656b926e0896bc</id>
<content type='text'>
Onion services (and later, exits and caches) will need this.
</content>
</entry>
<entry>
<title>Improve the layout of crate exports; add runtime convenience functions</title>
<updated>2022-01-11T15:16:03Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-01-11T15:16:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=41e202a3a4c582dedd2c9c5c5c60369b4a53fae0'/>
<id>urn:sha1:41e202a3a4c582dedd2c9c5c5c60369b4a53fae0</id>
<content type='text'>
This commit addresses multiple problems highlighted by arti#182:

- `arti-client` had some types in its public API that weren't accessible
  without importing another crate (`CfgPath`, `DataReader`,
  `DataWriter`). This has been fixed.
  - In addition, the doc comments for `DataReader` and `DataWriter` were
    cleaned up to be of better quality, now that they're public.
- It was impossible to use `arti-client` without also importing
  `tor-rtcompat`. This is now fixed by the addition of two convenience
  methods: `TorClient::bootstrap_with_tokio` and
  `TorClient::bootstrap_with_async_std`.
- Potentially controversially: `tor-rtcompat` now returns *concrete*
  types from methods like `current_runtime`, instead of `impl Runtime`.
  - This was needed in order to actually be able to name the `TorClient`
    type that results from using these methods.
  - This does mean we lose API flexibility, but on balance I think this
    is a good thing, because the API we *do* have is actually usable...
</content>
</entry>
</feed>
