<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-rpcbase/src/method.rs, 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-13T00:19:20Z</updated>
<entry>
<title>rpcbase: Facility for looking up RPC method information</title>
<updated>2024-08-13T00:19:20Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-12T14:09:54Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5883a585d74e2e95a13fd804b3281f72dd57525b'/>
<id>urn:sha1:5883a585d74e2e95a13fd804b3281f72dd57525b</id>
<content type='text'>
We'll need this to refer to the names of RPC methods as visible to
the caller, and to cross-reference them  with their related types.
</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: Replace a TODO with a set of notes and caveats</title>
<updated>2024-07-25T12:43:30Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-23T14:20:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=593e0dfbc0da6ef4d3ed6e403122b178432eb571'/>
<id>urn:sha1:593e0dfbc0da6ef4d3ed6e403122b178432eb571</id>
<content type='text'>
We have decided not to remove the "anybody can define methods"
property.  This commit documents the consequences, and warns
extenders away from some really bad ideas.
</content>
</entry>
<entry>
<title>rpc: Tests for method name checking.</title>
<updated>2024-07-15T15:30:52Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-15T15:30:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=45941b5fff66036a0833e21bb929bb19fef8a25a'/>
<id>urn:sha1:45941b5fff66036a0833e21bb929bb19fef8a25a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Change deftly syntax to post 0.12.1 version</title>
<updated>2024-06-17T18:13:06Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-06-17T17:33:09Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=dddf07561868579ea687eeadaa8f863aa833c764'/>
<id>urn:sha1:dddf07561868579ea687eeadaa8f863aa833c764</id>
<content type='text'>
 * Change `pub` to `export`
 * Change the `=` in define to `:`
 * Change `pub_template_semver_check` to `template_export_semver_check`

Right now, 0.12.1 supports both syntaxes.  I have verified this branch
also compiles with
  https://gitlab.torproject.org/Diziet/rust-derive-deftly/-/merge_requests/402
  ee171ffaf56d7dcb7d75584054921153fe19b222
</content>
</entry>
<entry>
<title>Add a few "TODO RPC" notes</title>
<updated>2024-05-16T12:40:06Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-16T12:35:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=854b1507c95ca7edde01c545b0c7375912168944'/>
<id>urn:sha1:854b1507c95ca7edde01c545b0c7375912168944</id>
<content type='text'>
</content>
</entry>
<entry>
<title>RPC: Fill in documentation about invoke_special</title>
<updated>2024-05-16T12:40:06Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-14T18:45:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=69510aaa1750362d6df9d7e92b9b139d70071e17'/>
<id>urn:sha1:69510aaa1750362d6df9d7e92b9b139d70071e17</id>
<content type='text'>
</content>
</entry>
<entry>
<title>RPC: Require an Error type in methods.</title>
<updated>2024-05-16T12:40:06Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-14T18:19:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=98765e5a4cdf70356db38d324b0896d2b6f83c2f'/>
<id>urn:sha1:98765e5a4cdf70356db38d324b0896d2b6f83c2f</id>
<content type='text'>
This is needed so that we can cast special methods' return types
properly.

I wish I could make this optional, but Rust doesn't allow
defaulting an associated type.
</content>
</entry>
<entry>
<title>Relax Serialize requirement on method outputs.</title>
<updated>2024-05-16T12:40:06Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-14T17:36:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=704b1ec7f9e92208b548ebf0e9ee50adfe9aa0d0'/>
<id>urn:sha1:704b1ec7f9e92208b548ebf0e9ee50adfe9aa0d0</id>
<content type='text'>
Now Methods can return anything; and only if their outputs are
Serialize will they implement RpcInvocable.
</content>
</entry>
<entry>
<title>rpc: Move typetag onto subtrait of DynMethod</title>
<updated>2024-05-16T12:40:04Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-14T15:21:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0e8608ba76f61a401040c8f762b99e5f3965d8e8'/>
<id>urn:sha1:0e8608ba76f61a401040c8f762b99e5f3965d8e8</id>
<content type='text'>
This will allow us to create dispatchable methods that are only
invoked from inside the arti code, and are not themselves
serializable.
</content>
</entry>
</feed>
