<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-rpcserver/src/connection.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-13T01:27:50Z</updated>
<entry>
<title>rpcserver: use more sophisticated handling for ConnectionError.</title>
<updated>2024-08-13T01:27:50Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-13T01:27:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4e0c62da453dec6bacae586d4dac940beff61e94'/>
<id>urn:sha1:4e0c62da453dec6bacae586d4dac940beff61e94</id>
<content type='text'>
In general, we don't want to return a ConnectionError for a simple
EOF condition; we only want to report an error when there's an
actual failure.

Also, it's a good idea to capture the actual error return conditions
that we get from aynchronous_codecs, rather than throwing them away
as we did before.

Closes #1517.
</content>
</entry>
<entry>
<title>Implement rpc::Context on Connection directly</title>
<updated>2024-06-10T14:33:01Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-06-05T14:00:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=aaf12c8970e35ff0f9873cf4c2e27adb2ccaf9e5'/>
<id>urn:sha1:aaf12c8970e35ff0f9873cf4c2e27adb2ccaf9e5</id>
<content type='text'>
This lets us get rid of a now-spurious `RequestContext` wrapper type
and an extra layer of indirection; it will also make it easier to
treat a Connection _as_ a context, so that we can have a context in
the socks-rpc interface code.

This patch removes a TODO about "treading carefully" when we make
this change.  When I added that TODO, I had misremembered some
implementation details of the RPC object system.
</content>
</entry>
<entry>
<title>rpc: allow Connection::lookup_object to take &amp;self</title>
<updated>2024-06-10T14:33:01Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-06-05T13:57:40Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3f7b69dd772c33175f41675e03b304da5c6ec508'/>
<id>urn:sha1:3f7b69dd772c33175f41675e03b304da5c6ec508</id>
<content type='text'>
This will allow us to implement rpc::Context on Connection directly.
</content>
</entry>
<entry>
<title>rpc: Make the connection type always-Arc.</title>
<updated>2024-06-10T14:33:01Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-06-05T13:51:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c4c8f533ac057e405b597d1584711fa95cdae604'/>
<id>urn:sha1:c4c8f533ac057e405b597d1584711fa95cdae604</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use refactored invoke_rpc_method in rpcserver.</title>
<updated>2024-06-10T14:33:01Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-06-04T16:42:35Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5f2aaf5fb15e74d7b75ed9a4aa442e2dcb8ef451'/>
<id>urn:sha1:5f2aaf5fb15e74d7b75ed9a4aa442e2dcb8ef451</id>
<content type='text'>
</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>
<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>rpcserver: rename streams.rs to codecs.rs.</title>
<updated>2024-05-09T20:34:17Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-07T19:07:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=86b04a3f12eb145b012541ad69af966966f0b3c8'/>
<id>urn:sha1:86b04a3f12eb145b012541ad69af966966f0b3c8</id>
<content type='text'>
I think I'm going to add another stream management module here.
</content>
</entry>
<entry>
<title>Refactor: remove existence of HasConstTypeId_ as a trait</title>
<updated>2024-04-08T13:00:29Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-04-08T12:51:56Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5155e9add7b0f94a8d95eae257c9c2a3e64d5566'/>
<id>urn:sha1:5155e9add7b0f94a8d95eae257c9c2a3e64d5566</id>
<content type='text'>
We don't actually need this to be a trait; we just need
methods and objects to have a `CONST_TYPE_ID_` if they want to
participate in the inventory-based method registry.

Removing this trait makes it much simpler to declare methods and
objects.
</content>
</entry>
</feed>
