<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-rpcbase/src/dispatch.rs, branch arti-v1.2.6</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.6</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.2.6'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2024-07-25T12:43:30Z</updated>
<entry>
<title>rpc: Refactor errors part 1: a new RpcMethod trait.</title>
<updated>2024-07-25T12:43:30Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-23T17:23:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c7c630c44d9e937d7185f591d75fd42c33ab5238'/>
<id>urn:sha1:c7c630c44d9e937d7185f591d75fd42c33ab5238</id>
<content type='text'>
It is no longer necessary to say, for every RPC method,
that its error type is RpcError.
</content>
</entry>
<entry>
<title>rpcbase: remove now-unused invoke methods</title>
<updated>2024-07-25T12:43:30Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-23T15:12:23Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=110625889e9137647c445dc12d4877ae56cc037c'/>
<id>urn:sha1:110625889e9137647c445dc12d4877ae56cc037c</id>
<content type='text'>
These methods were defined on DispatchTable, and then replaced by
top-level functions in the crate.  (The reason for using top-level
functions instead is so that we get the locking on the dispatch
table correct.)
</content>
</entry>
<entry>
<title>rpcbase: Remove a TODO RPC about duplication</title>
<updated>2024-07-25T12:43:30Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-23T14:54:45Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2691f3b5a6a6fda52b418a26718593739d124331'/>
<id>urn:sha1:2691f3b5a6a6fda52b418a26718593739d124331</id>
<content type='text'>
The duplication is only a few lines. I've looked into a couple of
ways for removing it, but they make the code flow even less clear.
</content>
</entry>
<entry>
<title>rpc: Remove TODO about moving @special to a different macro.</title>
<updated>2024-07-25T12:43:30Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-23T14:01:23Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=03bd8e242d570a9d62c5dbe82e1e1b0bd46a035a'/>
<id>urn:sha1:03bd8e242d570a9d62c5dbe82e1e1b0bd46a035a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpcbase: tests for crate-level invoke functions.</title>
<updated>2024-07-16T00:17:38Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-16T00:17:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7692adb7ff4c99fb2c964d793326960bb6b8d5bb'/>
<id>urn:sha1:7692adb7ff4c99fb2c964d793326960bb6b8d5bb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpc: Test some lower level dispatch internals.</title>
<updated>2024-07-15T16:00:49Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-15T16:00:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c4a91a23f1914dc2d21d34c2091263914c25d8fe'/>
<id>urn:sha1:c4a91a23f1914dc2d21d34c2091263914c25d8fe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpc: Missing rpc_invoker is a Bug.</title>
<updated>2024-06-10T14:33:01Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-06-10T14:24:59Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=13b24778daaef4b56da778d06d62fa23a6e1de21'/>
<id>urn:sha1:13b24778daaef4b56da778d06d62fa23a6e1de21</id>
<content type='text'>
Every method is either "special" or not; therefore, it is always a
Bug if we look for an rpc_invoker and don't find one.
</content>
</entry>
<entry>
<title>Add more explanation of InvokerEnt fields.</title>
<updated>2024-06-10T14:33:01Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-06-10T14:22:59Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=611a5b5932a52af3bc9f113bb69f486c7ded388d'/>
<id>urn:sha1:611a5b5932a52af3bc9f113bb69f486c7ded388d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpc: Add RPC method invocation based on Context, not dispatch table.</title>
<updated>2024-06-10T14:33:01Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-06-04T16:34:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b642c2422aa8c7ad5192cc2502f12d42f0a24a7d'/>
<id>urn:sha1:b642c2422aa8c7ad5192cc2502f12d42f0a24a7d</id>
<content type='text'>
Doing it this way will allow us to invoke methods without holding
the read lock on the table, implicitly or via the future.

I am not yet removing the methods on DispatchTable, since the tests
need them; I've added TODOs to revisit and remove later.
</content>
</entry>
<entry>
<title>rpc: Pass around our rpc::Context in an Arc.</title>
<updated>2024-06-10T14:33:01Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-06-04T15:31:19Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=acdc2cbe0bc54141e33da320a9551fbcf2e1d7fc'/>
<id>urn:sha1:acdc2cbe0bc54141e33da320a9551fbcf2e1d7fc</id>
<content type='text'>
Formerly we used a Box.  That was okay at first, but now that we
want RPC methods to be able to invoke other RPC methods, we don't
want the Invocable methods to have to consume the Context.

This requires that Context become Sync.
</content>
</entry>
</feed>
