<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-rpcbase/src/dispatch.rs, branch arti-v1.1.5</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.5</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.5'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2023-05-24T14:15:56Z</updated>
<entry>
<title>rpc: Remove downgrade_owned for now</title>
<updated>2023-05-24T14:15:56Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-05-24T13:24:45Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=936387efee359a38a22a920568090b204dfd07be'/>
<id>urn:sha1:936387efee359a38a22a920568090b204dfd07be</id>
<content type='text'>
Rationale: Our weak-vs-strong design is a bit confused at the moment
due to concerns about deduplication and  capability semantics.  It's
not clear that a general "change strong to weak" method is
compatible with what we want to provide.
</content>
</entry>
<entry>
<title>rpc: Implement functionality to remove objects from a session</title>
<updated>2023-05-24T14:15:56Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-05-23T14:41:56Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9713e8d3054aafe3f19afd55693bc3159712e595'/>
<id>urn:sha1:9713e8d3054aafe3f19afd55693bc3159712e595</id>
<content type='text'>
I've made doing some design choices here:
  * Reserving "rpc" as a prefix for post-authentication
    functionality that is not arti-specific.
  * Declaring these to be methods on the session rather than methods
    on the objects themselves.

There's a problem with defining an API to drop a weak reference; see
comment in code.
</content>
</entry>
<entry>
<title>RPC: Add "register" methods to RequestContext.</title>
<updated>2023-05-04T14:35:05Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-25T21:08:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9be9ddb9027fef615613118451bc7e98fbc533b5'/>
<id>urn:sha1:9be9ddb9027fef615613118451bc7e98fbc533b5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpc: New syntax for method declaration</title>
<updated>2023-04-19T16:38:26Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-18T21:37:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e6092e99ea356664be8286d17b8e2526576fa6ee'/>
<id>urn:sha1:e6092e99ea356664be8286d17b8e2526576fa6ee</id>
<content type='text'>
Now you just declare your function `my_func` with the right types,
and invoke `rpc_invoke_fn!{ my_func(ObjType, MethodType); }`
</content>
</entry>
<entry>
<title>rpcbase: Use with_fn.</title>
<updated>2023-04-19T16:38:26Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-18T19:52:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6f6a4d073e1f92758264f99e290968e7853ba0cd'/>
<id>urn:sha1:6f6a4d073e1f92758264f99e290968e7853ba0cd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpc: Minor tweaks to get a sink to compile.</title>
<updated>2023-04-19T16:38:26Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-18T18:06:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=80a13ff898b5abd9002e56bdc388968f0006aa81'/>
<id>urn:sha1:80a13ff898b5abd9002e56bdc388968f0006aa81</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpc: Use Method types to determine type of method outputs, updates.</title>
<updated>2023-04-19T16:38:26Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-18T17:53:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0503f7bd4bd420df0b06cf9ccdd0b800646108bd'/>
<id>urn:sha1:0503f7bd4bd420df0b06cf9ccdd0b800646108bd</id>
<content type='text'>
This lets us do much less in our rpc_invoke_fn functions.
</content>
</entry>
<entry>
<title>rpc: Split Method into DynMethod and Method</title>
<updated>2023-04-19T16:38:26Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-18T17:04:28Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7dcfb02c2201c29cb3237f5921a4130e6fcd567a'/>
<id>urn:sha1:7dcfb02c2201c29cb3237f5921a4130e6fcd567a</id>
<content type='text'>
Now `Method` has an Output and Update associated type, and
`decl_method` can do a little more.
</content>
</entry>
<entry>
<title>rpc: simplify API by always providing a sink.</title>
<updated>2023-04-16T12:46:42Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-14T16:35:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5a2c38a1347d0508c59b81ec34732c1ed8fefddd'/>
<id>urn:sha1:5a2c38a1347d0508c59b81ec34732c1ed8fefddd</id>
<content type='text'>
Previously we have two places where we had to do "make a `Drain` sink
if updates aren't wanted"; now there's only one.
</content>
</entry>
<entry>
<title>rpc: Wire updates into rpc invoke functions again.</title>
<updated>2023-04-16T12:46:42Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-14T13:15:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=58ad91cbf56c95735e17286714960749750647dd'/>
<id>urn:sha1:58ad91cbf56c95735e17286714960749750647dd</id>
<content type='text'>
Now that the sink is not part of the context, RPC functions that are
able to send an update have to declare an `impl Sink` as their
fourth argument.  This syntax is not final.

Part of #824.
</content>
</entry>
</feed>
