<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-rpcserver/src, branch arti-v1.2.4</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.4</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.2.4'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2024-05-16T12:40:06Z</updated>
<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>
<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>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>
<entry>
<title>RPC: Give error from RpcMgr::new if method name is sufficiently bad.</title>
<updated>2024-05-14T13:49:44Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-14T13:46:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9f50a947a9859535c02aa117fe1cd4fea4fff09b'/>
<id>urn:sha1:9f50a947a9859535c02aa117fe1cd4fea4fff09b</id>
<content type='text'>
(We don't give an error about unrecognized namespaces (for now),
since we have no way to opt in to them.)
</content>
</entry>
<entry>
<title>RPC: Enforce method name format.</title>
<updated>2024-05-14T13:39:47Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-14T13:35:19Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8da4b96991c01ff16bd1194bca77d9bedf0bb9fa'/>
<id>urn:sha1:8da4b96991c01ff16bd1194bca77d9bedf0bb9fa</id>
<content type='text'>
We need to do this carefully, since we want our system to be
extensible with new namespaces.

First, when we are constructing an RpcMgr, we _warn_ about any
method names that are misformed.

Second, we add a test in the `arti` crate to fail if any method
names are invalid.  This will only catch method names in crates that
`arti` depends on.
</content>
</entry>
<entry>
<title>RPC: Use RPC method names in a consistent format.</title>
<updated>2024-05-14T13:33:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-14T13:33:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=24efb91741ba1acc139207ee805d385240f8c393'/>
<id>urn:sha1:24efb91741ba1acc139207ee805d385240f8c393</id>
<content type='text'>
Specifically, we want a single colon, and we want our
method names to be in snake_case.
</content>
</entry>
<entry>
<title>RPC: Require DynClone for ClientConnectionError.</title>
<updated>2024-05-14T12:04:03Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-13T15:19:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=cb9ae08a5fe9e035b5d72562d05e33d16ca821d0'/>
<id>urn:sha1:cb9ae08a5fe9e035b5d72562d05e33d16ca821d0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>RPC: Document RpcDataSTream state transitions.</title>
<updated>2024-05-14T12:04:03Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-13T14:51:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8c1f86b7b91d5d4e76b511ad4765740db689543e'/>
<id>urn:sha1:8c1f86b7b91d5d4e76b511ad4765740db689543e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>RPC: Rename RpcDataStream::{Waiting =&gt; Launching}</title>
<updated>2024-05-14T12:04:03Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-13T14:44:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=aa786226d2ab3a5e4922f71d54cbd3c76ea1a1d2'/>
<id>urn:sha1:aa786226d2ab3a5e4922f71d54cbd3c76ea1a1d2</id>
<content type='text'>
Also, improve documentation.
</content>
</entry>
<entry>
<title>RPC: RpcDataStream type to act as a "stream-shaped hole"</title>
<updated>2024-05-14T12:04:03Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-10T01:32:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d014d60e9e5fe439846e4c05fdd8e73bfc67a1fd'/>
<id>urn:sha1:d014d60e9e5fe439846e4c05fdd8e73bfc67a1fd</id>
<content type='text'>
The application creates these, using a new-stream-handle RPC command,
on an object that can actually create streams.

Then later, the application provides the (global) identity of one of
these objects when it's making a SOCKS connection.  This causes the
object to take hold of a `DataStreamCtrl`.
</content>
</entry>
</feed>
