<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-rpcserver/src/stream.rs, branch arti-v1.9.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.9.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.9.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-08-18T16:09:04Z</updated>
<entry>
<title>proto: Move the `stream` module under `client` (breaking).</title>
<updated>2025-08-18T16:09:04Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-08-18T15:52:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=702e7276898d3f31e22033c5b64fea91703f3701'/>
<id>urn:sha1:702e7276898d3f31e22033c5b64fea91703f3701</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Switch Cargo.toml files to edition 2024.</title>
<updated>2025-08-07T15:28:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-08-06T01:19:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=77b0de43b8c67cdb81befe0680a3df43b6ad37bc'/>
<id>urn:sha1:77b0de43b8c67cdb81befe0680a3df43b6ad37bc</id>
<content type='text'>
First, run

```
git grep -l "^edition =" |
    xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;'
```

Second, manually verify that all Cargo.toml files have changed,
and nothing else has changed.

Third, run cargo fmt again.
</content>
</entry>
<entry>
<title>Merge branch 'rpc_document_internal_optimism' into 'main'</title>
<updated>2025-01-30T18:28:11Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-01-30T18:28:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f8d9cedfeecdb9bcdc7b006845c9856fed302f1f'/>
<id>urn:sha1:f8d9cedfeecdb9bcdc7b006845c9856fed302f1f</id>
<content type='text'>
rpc: Document what is actually going on with stream optimism.

Closes #1583

See merge request tpo/core/arti!2753</content>
</entry>
<entry>
<title>proto: Rename (experimental) DataStream functions for ctrl access</title>
<updated>2025-01-30T16:11:01Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-01-30T15:48:45Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=01197344045835a2e901cf68488332bf3c8ccd56'/>
<id>urn:sha1:01197344045835a2e901cf68488332bf3c8ccd56</id>
<content type='text'>
Since these return a client-specific type,
they need a client-specific name before we can stabilize them for RPC.
</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>rpc: Document what is actually going on with stream optimism.</title>
<updated>2025-01-30T14:55:26Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-01-30T14:43:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0feb61e046c08d022a3de3950f39397186414107'/>
<id>urn:sha1:0feb61e046c08d022a3de3950f39397186414107</id>
<content type='text'>
In brief: we _do_ correct implement correct optimistic vs
nonoptimistic behavior for RPC streams.  Only our documentation was
wrong.  Subsequent commits will fix our documentation more.

See #1583.
</content>
</entry>
<entry>
<title>fix: fix typos</title>
<updated>2025-01-30T08:39:30Z</updated>
<author>
<name>Dimitris Apostolou</name>
<email>dimitris.apostolou@icloud.com</email>
</author>
<published>2025-01-30T08:39:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6371829c976f6a5b77d46bf977f369a915f2ced3'/>
<id>urn:sha1:6371829c976f6a5b77d46bf977f369a915f2ced3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpc: Clean up documenation surrounding OneshotClient</title>
<updated>2025-01-15T20:02:13Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-01-15T19:34:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=16b43efb1a9ab2085624d80e372b06ad0daa1633'/>
<id>urn:sha1:16b43efb1a9ab2085624d80e372b06ad0daa1633</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpc: Rename new_stream_handle to new_oneshot_client.</title>
<updated>2025-01-15T19:44:32Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-01-15T19:26:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=314d2c07bcfc6645debda810014e9439d7f11f2b'/>
<id>urn:sha1:314d2c07bcfc6645debda810014e9439d7f11f2b</id>
<content type='text'>
This method doesn't actually create a new stream; it creates a
single-use client object that can be used with SOCKS to launch
a new stream, and capture an RPC object for that stream.

Closes #1664.
</content>
</entry>
<entry>
<title>rpcserver: Wrap InvokeError as internal error</title>
<updated>2024-10-17T19:19:40Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-10-16T17:46:07Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8e2bb09579f862c9b3ce5c4757d920c63f8745a9'/>
<id>urn:sha1:8e2bb09579f862c9b3ce5c4757d920c63f8745a9</id>
<content type='text'>
I'm about to remove HasKind from InvokeError, which would otherwise
break this code.

These errors are all in fact internal errors, since in this context
they can only stem from incorrectly formed calls to
`invoke_special_method`.
</content>
</entry>
</feed>
