<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-rpcbase/src/lib.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:46:29Z</updated>
<entry>
<title>rpc: Remove special conversion for SendUpdateError.</title>
<updated>2024-07-25T12:46:29Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-24T18:56:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=cb2397248765f8e55fb30b6bdb837ad1345b3992'/>
<id>urn:sha1:cb2397248765f8e55fb30b6bdb837ad1345b3992</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpc: Remove RpcError data field and use Report</title>
<updated>2024-07-25T12:46:29Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-23T17:26:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2e9cc83fd918a40f551bcc3f9595956067044aad'/>
<id>urn:sha1:2e9cc83fd918a40f551bcc3f9595956067044aad</id>
<content type='text'>
Per discussion, this field isn't really specified in a way that lets
us fill it sensibly at the moment.  So for now, we're going to just
omit it.

Additionally, we said that we'd Report on our errors; this branch
changes the implementation of RpcError to do that.

Question: Will the blanket implementation for Into&lt;RpcError&gt; make
it harder to re-add a Data field later on if we want to do so?
</content>
</entry>
<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>rpc: remove TODO about adding an extension trait</title>
<updated>2024-07-25T12:43:30Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-23T14:04:35Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2c6c2c40aac3ae0b16535819dce3064521f31dc6'/>
<id>urn:sha1:2c6c2c40aac3ae0b16535819dce3064521f31dc6</id>
<content type='text'>
These functions are called rarely enough that it is probably okay
for the ergonomics to be a bit verbose.
</content>
</entry>
<entry>
<title>rpcbase: remove "Nil" TODO.</title>
<updated>2024-07-25T12:43:30Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-23T13:17:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=eafa136bc29e6123600022afe39c441f8f61cb76'/>
<id>urn:sha1:eafa136bc29e6123600022afe39c441f8f61cb76</id>
<content type='text'>
This change would take some serde magic that is probably not worth it.
</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: 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>
<entry>
<title>RPC: Expose dispatch table from Context</title>
<updated>2024-05-16T12:40:06Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-14T18:52:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=533b34a55b268ec73ac032dd8e3d360f2d43b985'/>
<id>urn:sha1:533b34a55b268ec73ac032dd8e3d360f2d43b985</id>
<content type='text'>
We need to do this so that we can actually invoke RPC functions
from one another.
</content>
</entry>
</feed>
