<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-rpcserver/src/msgs.rs, branch arti-v2.2.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.2.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.2.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-01-12T19:14:19Z</updated>
<entry>
<title>Remove a spurious debug_assert in arti-rpcserver.</title>
<updated>2026-01-12T19:14:19Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-01-12T19:14:19Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8dd6473630b7cca633e0006d1c3f5c4db4e8598a'/>
<id>urn:sha1:8dd6473630b7cca633e0006d1c3f5c4db4e8598a</id>
<content type='text'>
This should never have been retained when we refactored our channels
for reporting responses into a single channel.

The bug became apparent when quicktest became derived from debug.
</content>
</entry>
<entry>
<title>Fix name of clippy lint to unchecked_time_subtraction (2)</title>
<updated>2025-11-06T11:28:22Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-11-06T11:23:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a5fd5c48ea059a80cc1f6c50e248654b5ff3aaff'/>
<id>urn:sha1:a5fd5c48ea059a80cc1f6c50e248654b5ff3aaff</id>
<content type='text'>
Run maint/add_warning
</content>
</entry>
<entry>
<title>rpcserver: Increase coverage in msgs module</title>
<updated>2025-03-24T18:15:47Z</updated>
<author>
<name>vcrn</name>
<email>3893-vcrn@gitlab.torproject.org</email>
</author>
<published>2025-03-24T18:15:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=05ac14b8a23a0bb4a7dfcae01a93f779593616c8'/>
<id>urn:sha1:05ac14b8a23a0bb4a7dfcae01a93f779593616c8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>arti-rpcserver: Rename MethodNotFound to NoSuchMethod.</title>
<updated>2025-01-15T19:05:30Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-01-15T19:03:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=71260de3ce35186a6e68fc10f0cae409258b4f80'/>
<id>urn:sha1:71260de3ce35186a6e68fc10f0cae409258b4f80</id>
<content type='text'>
Closes #1500.
</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>Replace _ =&gt; panic!() elsewhere</title>
<updated>2024-10-15T11:14:10Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-10-15T11:14:10Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0f6eadfd9836b3507ad22a0bf4fae5749b8cf8b8'/>
<id>urn:sha1:0f6eadfd9836b3507ad22a0bf4fae5749b8cf8b8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>arti-rpcserver: minimal handling for request.meta.require</title>
<updated>2024-10-07T18:49:13Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-10-07T18:49:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=849552a43f02615bff0c48496008694eba482bb2'/>
<id>urn:sha1:849552a43f02615bff0c48496008694eba482bb2</id>
<content type='text'>
We have defined a forward-compatibility mechanism for the RPC
system, where a request may list one or more required "features",
and if any feature is absent, the request will fail.

Since no "features" are currently implemented,
this code does the bare minimum to implement this mechanism,
by rejecting every request with a nonempty "require" field.
</content>
</entry>
<entry>
<title>arti-rpcserver: Correctly handle rpc.meta without `updates`</title>
<updated>2024-10-07T18:47:55Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-10-07T18:47:55Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b38a064b08a9d91586ab6e27ab57bdb81dc0d776'/>
<id>urn:sha1:b38a064b08a9d91586ab6e27ab57bdb81dc0d776</id>
<content type='text'>
The `update` field in request.meta is optional, so we should allow
it to default to `false` when it is absent.
</content>
</entry>
<entry>
<title>rpcserver: Remove TODO about optionality of params</title>
<updated>2024-10-07T17:28:43Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-10-07T17:26:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3f409bdc1726b91587081d27fc42da40645bb847'/>
<id>urn:sha1:3f409bdc1726b91587081d27fc42da40645bb847</id>
<content type='text'>
The spec no longer says that `params` is optional, so we can remove
the TODO about making it optional.

Closes #1665.
</content>
</entry>
<entry>
<title>rpc: Simplify handling of fatal Json read errors.</title>
<updated>2024-09-16T17:17:14Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-09-09T19:38:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c13eaaea7fb939bebe13637536e146357267eb62'/>
<id>urn:sha1:c13eaaea7fb939bebe13637536e146357267eb62</id>
<content type='text'>
Previously, after determining that an error on an RPC connection
was fatal, we would:
 1. Determine whether it was a "clean" close or one
    that needed to be logged.
 2. In exactly one case (specifically, when the inbound Json stream
    contained a Value that was not an Object) , we would send back a
    message to the client.
 3. Exit the connection with Ok() or Err(e).

We no longer do step "2" above.

Additionally, we document:
 - Why it's important to exit immediately on syntax errors.
 - A better way to tolerate non-Object Json Values,
   if we decide someday to do so.

Closes #1591.
</content>
</entry>
</feed>
