<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-rpc-client-core/src/conn, branch arti-v1.2.7</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.7</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.2.7'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2024-08-27T13:45:12Z</updated>
<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>rpclib: Refactor request canonicalization</title>
<updated>2024-08-07T12:21:28Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-06T12:50:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2eaa2dc0c902411b83365e9e2f11da268f98a8fd'/>
<id>urn:sha1:2eaa2dc0c902411b83365e9e2f11da268f98a8fd</id>
<content type='text'>
This lets us make a couple of types module-private,
and prepares the way for using the serde_json::Value trick on
requests too.
</content>
</entry>
<entry>
<title>rpc: Make ObjectId hold a Utf8CString internally.</title>
<updated>2024-08-06T18:42:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-06T18:42:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9213bdd7ba132810da88f1eecd1ea15d1a23c8e6'/>
<id>urn:sha1:9213bdd7ba132810da88f1eecd1ea15d1a23c8e6</id>
<content type='text'>
This will enable us to return it to FFI callers as a nul-terminated string.
</content>
</entry>
<entry>
<title>rpclib: Split ParsedRequest and Request types.</title>
<updated>2024-08-04T14:27:46Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-04T14:27:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=197b906e38f49b8240d236fb614ceef873063d13'/>
<id>urn:sha1:197b906e38f49b8240d236fb614ceef873063d13</id>
<content type='text'>
(They are about to diverge even further.)
</content>
</entry>
<entry>
<title>rpclib: Initial tests for RpcConn</title>
<updated>2024-07-24T14:21:59Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-22T15:54:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c3f996740ce7ba6300622f5b0e4b2bc443ac96ec'/>
<id>urn:sha1:c3f996740ce7ba6300622f5b0e4b2bc443ac96ec</id>
<content type='text'>
The "complex" test here is fairly involved, since it tries to detect
deadlocks and race conditions by using multiple threads and
answering requests out of order.
</content>
</entry>
<entry>
<title>RPC: Fix rustdoc links.</title>
<updated>2024-07-16T14:09:27Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-16T14:09:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c9b6a0e4398e1c5ead8c72c7656d08381829dc54'/>
<id>urn:sha1:c9b6a0e4398e1c5ead8c72c7656d08381829dc54</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpc: Remove negotiation code.</title>
<updated>2024-07-16T13:51:27Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-16T12:52:19Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=54c797307d511bbf842861e4487f3c70334d288c'/>
<id>urn:sha1:54c797307d511bbf842861e4487f3c70334d288c</id>
<content type='text'>
I think we'll need this again later, but for now it's redundant.
</content>
</entry>
<entry>
<title>rpc client: Documentation.</title>
<updated>2024-07-16T13:51:27Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-11T17:37:40Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c9825356aeb790aa75d2c38f0e4fe801ba4b0327'/>
<id>urn:sha1:c9825356aeb790aa75d2c38f0e4fe801ba4b0327</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpc client: resolve unused-foo warnings.</title>
<updated>2024-07-16T13:51:27Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-11T16:01:16Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4cc1a18864ae5d457f39f6a2214c2d9764d03404'/>
<id>urn:sha1:4cc1a18864ae5d457f39f6a2214c2d9764d03404</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add a TODO about refactoring should_alert</title>
<updated>2024-07-16T13:51:27Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-11T15:39:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0276e9bed4013ac84b2e6caf52c613a34db5977b'/>
<id>urn:sha1:0276e9bed4013ac84b2e6caf52c613a34db5977b</id>
<content type='text'>
</content>
</entry>
</feed>
