<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-rpc-client-core/src/ffi.rs, branch arti-v2.1.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.1.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.1.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-11-06T22:00:39Z</updated>
<entry>
<title>rpclib: Rename `OutPtr` to `OutBoxedPtr`</title>
<updated>2025-11-06T22:00:39Z</updated>
<author>
<name>Neel Chauhan</name>
<email>neel@neelc.org</email>
</author>
<published>2025-11-05T02:13:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e20e93ea05ddc7bb499bcb7cb0d99940e6b20c7e'/>
<id>urn:sha1:e20e93ea05ddc7bb499bcb7cb0d99940e6b20c7e</id>
<content type='text'>
Closes #1588.
</content>
</entry>
<entry>
<title>Fix warnings and errors from edition 2024.</title>
<updated>2025-08-07T15:28:39Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-08-06T01:54:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4fbbffe7c14b2df6290268b6e3c8530106ab2529'/>
<id>urn:sha1:4fbbffe7c14b2df6290268b6e3c8530106ab2529</id>
<content type='text'>
The two main causes of errors were:

- Since some of the lifetime rules have changed, we no longer need
  to do as many "bind a variable and immediately return it"
  patterns, and so clippy now warns about them.
- We needed to adjust the explicit captures (`use&lt;...&gt;`)
  in a couple of our RPIT instances.
</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>rpc: Correct API documentation about optimism</title>
<updated>2025-01-30T15:08:17Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-01-30T15:03:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=fcb10040764db7204b637713b4166c4f57235257'/>
<id>urn:sha1:fcb10040764db7204b637713b4166c4f57235257</id>
<content type='text'>
Our documentation had dated to an older version of our RPC stream
code, where all streams were automatically optimistic.

But as explained, our use of "optimistic"ness in RPC stream code is
now purely internal, to make it possible to get an DataStreamCtrl.
This isn't user-visible in our rpc_conn_open_stream code.

Closes #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>arti-rpc-client-core: Document that dropping a request does not cancel it.</title>
<updated>2025-01-23T00:39:58Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-01-16T21:16:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9c8ebf4f644643d8fd15edb945ddd4d4f72ad504'/>
<id>urn:sha1:9c8ebf4f644643d8fd15edb945ddd4d4f72ad504</id>
<content type='text'>
I hope that this limitation is acceptable;
the alternative involves some significant refactoring to give
Request a Weak reference to RpcConn -- but RpcConn isn't currently
kept in an Arc&lt;&gt; at all, and so we'd need some fairly heavy hacking.
</content>
</entry>
<entry>
<title>arti-rpc-client-core: Implement and expose cancellation.</title>
<updated>2025-01-23T00:39:58Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-01-16T21:11:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ef457c5921349f9abf43111aace817da8ff71316'/>
<id>urn:sha1:ef457c5921349f9abf43111aace817da8ff71316</id>
<content type='text'>
</content>
</entry>
<entry>
<title>artilib: Revise C and Python APIs for builders.</title>
<updated>2024-12-09T20:23:43Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-12-02T20:57:23Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b67a1254c4ca60d426862d8ef9d0d6d4a0e19aff'/>
<id>urn:sha1:b67a1254c4ca60d426862d8ef9d0d6d4a0e19aff</id>
<content type='text'>
Expose ArtiRpcConnBuilder and appropriate C wrapper functions in
our FFI code, and wrap those functions in our python wrapper.
This breaks the old C API, but that's allowed since the API
is still experimental.

Some design decisions:
 * I've wrapped the builder in a Mutex, so that we can continue
   our FFI rule that we do not require non-Rust code to wrap `&amp;mut`.
 * I've removed the non-builder connect() function from the C API
   as extraneous.
 * I've made a single function to prepend elements to the search
   path.
</content>
</entry>
<entry>
<title>rpc-client: Initial implementation for RPC connect points.</title>
<updated>2024-12-09T20:23:43Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-11-25T20:22:19Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=dd9e01c8499eaa5db6179cd4bb7a6020e9c2b9c5'/>
<id>urn:sha1:dd9e01c8499eaa5db6179cd4bb7a6020e9c2b9c5</id>
<content type='text'>
This commit covers the major points of the design:
Parsing the environment, parsing and resolving connect points,
connecting to Arti, and handling errors.

There are a few areas that need to be fixed,
all marked with XXXXs.
</content>
</entry>
</feed>
