<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-rpcbase/src/lib.rs, branch arti-v1.3.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.3.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.3.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2024-10-24T01:35:05Z</updated>
<entry>
<title>rpc: Simplify method-dispatch-bypass logic a bit</title>
<updated>2024-10-24T01:35:05Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-10-24T00:33:55Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=eb1d9acd10c5d500f56d637a7bba3acdd67dc9e8'/>
<id>urn:sha1:eb1d9acd10c5d500f56d637a7bba3acdd67dc9e8</id>
<content type='text'>
This commit removes the separate function for asking whether to
bypass the dispatch code.  Instead, it gives the "invoke with
bypass" function an error to return when no dispatch is warranted,
and moves the whole responsibility for method dispatch or
non-dispatch back into tor-rpcbase.

I had to add an ObjectId argument to `invoke_rpc_method` to make
this work, but that's probably a good thing.

Additionally, this commit tweaks the derive-deftly macro to prevent
you from asking for dispatch bypass on special methods, where it
isn't implemented (and doesn't really make sense).
</content>
</entry>
<entry>
<title>rpc: do not attempt to dispatch methods with bypassed dispatch.</title>
<updated>2024-10-24T01:35:05Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-10-22T13:54:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d40e9be4da24a10ad753413b7959af160a54a663'/>
<id>urn:sha1:d40e9be4da24a10ad753413b7959af160a54a663</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove Rpc* variants from tor_error::ErrorKind</title>
<updated>2024-10-17T23:16:58Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-10-16T18:58:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5219f4cee5a74c0abdd8ad548b4ead9e2066cb2c'/>
<id>urn:sha1:5219f4cee5a74c0abdd8ad548b4ead9e2066cb2c</id>
<content type='text'>
These are not regular ErrorKinds, since they can never occur in an
error that's meant to be returned from a Rust API like
`arti-client`.  Instead, they only exist for errors returned from
RpcError.

(I can't find the place where we discussed this previously, but the
rationale is that if an ErrorKind never makes sense in response to
something that the user does from Rust, we should never have that be
an ErrorKind.  The fact that the removed kinds do not actually
appear outside the RPC system suggests that this is reasonable.)
</content>
</entry>
<entry>
<title>rpc: Make RpcErrorKind public.</title>
<updated>2024-10-17T19:19:40Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-10-15T20:55:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f57e69b890a704b813224a6bc0f12ad948b675f2'/>
<id>urn:sha1:f57e69b890a704b813224a6bc0f12ad948b675f2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'rename_singleton_id' into 'main'</title>
<updated>2024-09-25T15:25:52Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2024-09-25T15:25:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8753eb8294ff4eedf4f4d6ba26e918a7eb1635aa'/>
<id>urn:sha1:8753eb8294ff4eedf4f4d6ba26e918a7eb1635aa</id>
<content type='text'>
rpc: Rename SingletonId to SingleIdResponse

Closes #1585

See merge request tpo/core/arti!2448</content>
</entry>
<entry>
<title>rpc: Expose a delegation table in arti:x_list_all_rpc_methods</title>
<updated>2024-09-24T14:45:51Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-09-16T14:54:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=438407b6b335b984ce84b4f65ac0b3cd7ec99aa2'/>
<id>urn:sha1:438407b6b335b984ce84b4f65ac0b3cd7ec99aa2</id>
<content type='text'>
Closes #1624.
</content>
</entry>
<entry>
<title>rpc: Rename SingletonId to SingleIdResponse</title>
<updated>2024-09-24T14:23:53Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-09-24T14:21:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bd9b29b05de6c133b93366acb69d9e2ce6b126cd'/>
<id>urn:sha1:bd9b29b05de6c133b93366acb69d9e2ce6b126cd</id>
<content type='text'>
Calling it "singleton" might have suggested that it was using the
[singleton pattern](https://en.wikipedia.org/wiki/Singleton_pattern),
which it isn't.

(Renaming done with rust-analyzer and double-checked with `git grep`.)

Closes #1585.
</content>
</entry>
<entry>
<title>rpcbase: Implement RPC method delegation support.</title>
<updated>2024-08-14T15:52:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-14T15:52:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3d18a0b83556dada0279f2dd6681d81391e57177'/>
<id>urn:sha1:3d18a0b83556dada0279f2dd6681d81391e57177</id>
<content type='text'>
(Couldn't use Deref here, since we needed to get an Arc.)

Only one delegation target per object is permitted for now.

This will help with #1523.
</content>
</entry>
<entry>
<title>Add a missing incantation to fix doc(cfg=...).</title>
<updated>2024-08-13T12:25:52Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-13T12:25:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3d0c1bb3809af575d0c519efb43f5e2d197047c5'/>
<id>urn:sha1:3d0c1bb3809af575d0c519efb43f5e2d197047c5</id>
<content type='text'>
Without this, we get a warning when we run `cargo doc`.
</content>
</entry>
<entry>
<title>rpcbase: Feature to list the RPC methods and what they apply to.</title>
<updated>2024-08-13T00:27:03Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-12T16:02:22Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=89543b0010f550a5699293d7b3f07752971be6a4'/>
<id>urn:sha1:89543b0010f550a5699293d7b3f07752971be6a4</id>
<content type='text'>
</content>
</entry>
</feed>
