<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-rpc-client-core/src/ffi.rs, branch arti-v1.4.1</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.1</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.1'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-01-30T18:28:11Z</updated>
<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>
<entry>
<title>rpclib: Use prop351 protocol to open streams.</title>
<updated>2024-09-19T00:30:00Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-09-18T23:35:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=56b60b5b84222c78bae75f28fb5d185eac71b319'/>
<id>urn:sha1:56b60b5b84222c78bae75f28fb5d185eac71b319</id>
<content type='text'>
Now that prop351 is what Arti speaks, it's what the rpclib
needs to provide.

Note one change in particular: the `isolation` string
is no longer an optional argument when opening a stream.
(With prop351, there is no longer such a thing as an "absent"
isolation string, and we don't want to imply that there is a
difference between None and "".)
</content>
</entry>
<entry>
<title>rpclib: Rename "connect" to "open_stream" as appropriate.</title>
<updated>2024-09-10T19:41:33Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-09-10T19:41:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7ed0e1216439f3b7ad7a662f47b3a6f947627e13'/>
<id>urn:sha1:7ed0e1216439f3b7ad7a662f47b3a6f947627e13</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpclib: FFI for opening data streams.</title>
<updated>2024-09-09T14:52:56Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-26T15:31:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8fd335e5ae7ad761efe3030e33b7004ec70fc2ff'/>
<id>urn:sha1:8fd335e5ae7ad761efe3030e33b7004ec70fc2ff</id>
<content type='text'>
There's a blocking TODO here about exposing socks error codes that
I still need to solve.
</content>
</entry>
</feed>
