<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-rpc-client-core/src/ffi.rs, branch arti-v1.2.8</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.2.8</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.2.8'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2024-09-19T00:30:00Z</updated>
<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>
<entry>
<title>rpclib, ffi: Allow simultaneous calls to `arti_rpc_handle_wait()`</title>
<updated>2024-08-27T13:45:12Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-22T15:21:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=76e6a24759b5fc1a04b53077acb19afb82c8df88'/>
<id>urn:sha1:76e6a24759b5fc1a04b53077acb19afb82c8df88</id>
<content type='text'>
Its underlying function previously took `&amp;mut RpcHandle`,
which was an accident waiting to happen.  Now it takes `&amp;RpcHandle`
and includes a Mutex to prevent multiple threads from waiting for
updates on the same request ID at once.

As an alternative, we *could* try to update connimpl::Receiver to
allow multiple simultaneous listeners on the same request ID.
But that would (I think) require a lot more bookkeeping, and thus
would be a bit more error-prone.

Closes #1532.
</content>
</entry>
<entry>
<title>ffi: Add support for request handles</title>
<updated>2024-08-12T18:35:09Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-06T15:57:54Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2364c6dc6d2fd16f08641a1fed2cbc970005dc66'/>
<id>urn:sha1:2364c6dc6d2fd16f08641a1fed2cbc970005dc66</id>
<content type='text'>
This API allows the caller to launch a request and then watch for
updates on it.
</content>
</entry>
<entry>
<title>ffi: New out_val_opt type for outptrs to non-pointers</title>
<updated>2024-08-12T18:34:12Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-06T15:11:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8cd3d9520963d5b01fda67330f8960e7822faf4e'/>
<id>urn:sha1:8cd3d9520963d5b01fda67330f8960e7822faf4e</id>
<content type='text'>
Previously, we had out_ptr_opt for functions that wanted to return a
newly allocated `ArtiRpcFoo` via a `struct ArtiRpcFoo **` argument.

But we didn't have a way to return non-allocated `int` via an `int
*` argument.  This code provides that.
</content>
</entry>
<entry>
<title>FFI: Expose the object ID for the session.</title>
<updated>2024-08-06T18:45:49Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-06T18:02:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d5a996f5319c2b7ffb3d0673aa266ede549da0c1'/>
<id>urn:sha1:d5a996f5319c2b7ffb3d0673aa266ede549da0c1</id>
<content type='text'>
(Without this, it isn't actually possible to use the RPC subsystem.)
</content>
</entry>
<entry>
<title>ffi: Add some explicit ()s to prove they are there.</title>
<updated>2024-07-31T17:54:16Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-31T17:25:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c4f8b574cfe7c35db3cc074fec59937b051b9c93'/>
<id>urn:sha1:c4f8b574cfe7c35db3cc074fec59937b051b9c93</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ffi: Document safety for each function using ffi_body_raw.</title>
<updated>2024-07-31T17:54:16Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-31T13:00:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6961e83f6ecbd975d7ed3610d6170a76240cac1a'/>
<id>urn:sha1:6961e83f6ecbd975d7ed3610d6170a76240cac1a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ffi: rename ffi_body_simple to ffi_body_raw</title>
<updated>2024-07-31T17:54:16Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-31T12:50:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5cdfa510127ea53126b1398f44e26b2fd540326f'/>
<id>urn:sha1:5cdfa510127ea53126b1398f44e26b2fd540326f</id>
<content type='text'>
</content>
</entry>
</feed>
