<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-rpcserver/src/streams.rs, branch arti-v1.2.2</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.2</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.2.2'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2024-03-13T16:30:53Z</updated>
<entry>
<title>Run maint/add_warning.</title>
<updated>2024-03-13T16:30:53Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-03-13T16:30:53Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c0c9bd15d42897825dd0ab3d3b8dd1c17bd6320c'/>
<id>urn:sha1:c0c9bd15d42897825dd0ab3d3b8dd1c17bd6320c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Upgrade to latest asynchronous_codec (0.7.0)</title>
<updated>2023-10-17T16:26:26Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-10-17T16:26:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=116a836a7269134edb73825e5b22f788e3493f4e'/>
<id>urn:sha1:116a836a7269134edb73825e5b22f788e3493f4e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Run maint/add_warning to add lint block everywhere</title>
<updated>2023-08-23T09:34:00Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-08-22T14:28:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=42df88d6bf6dbb460d2e5e1cd4838aafaffbe9ac'/>
<id>urn:sha1:42df88d6bf6dbb460d2e5e1cd4838aafaffbe9ac</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Run maint/add_warning to actually apply new lint allows</title>
<updated>2023-07-10T12:49:51Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-07-10T11:19:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=473447a82e099fd52a674c28f5bc24b3e05208c0'/>
<id>urn:sha1:473447a82e099fd52a674c28f5bc24b3e05208c0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>RPC: Rename session.rs to connection.rs</title>
<updated>2023-05-04T14:35:05Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-28T17:42:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b807e834a3c06ed9183a119795101628a543c1f3'/>
<id>urn:sha1:b807e834a3c06ed9183a119795101628a543c1f3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpcserver: Fix a couple of broken rustdoc links</title>
<updated>2023-04-16T12:39:52Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-16T12:39:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c51f44aa0b9a2551917dbb40eb0a8ed0c20d9edb'/>
<id>urn:sha1:c51f44aa0b9a2551917dbb40eb0a8ed0c20d9edb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpc: Change `id=&lt;SYNTAX&gt;` to "no id".</title>
<updated>2023-04-13T13:03:52Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-13T12:40:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ea77f959fb567b495c1faa0cf3349cbfb86a3b58'/>
<id>urn:sha1:ea77f959fb567b495c1faa0cf3349cbfb86a3b58</id>
<content type='text'>
Now instead of hoping that buggy clients will detect a magic `id`,
we can simply tell them that they will get no `id` at all.  If they
can't handle that case, no major harm is done: the connection will
get closed anyway.
</content>
</entry>
<entry>
<title>rpc: Require that errors are RpcError.</title>
<updated>2023-04-13T13:03:52Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-12T20:30:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5041b51498b9854a10f822dd50cc2f0239d586f7'/>
<id>urn:sha1:5041b51498b9854a10f822dd50cc2f0239d586f7</id>
<content type='text'>
Since we're serializing everything in this format, let's enforce it.
With this change, we can no longer cram arbitrary junk into an
RPC error, so we have to clean up our handling of cancelled requests.
</content>
</entry>
<entry>
<title>rpc: Improve error reporting for invalid requests</title>
<updated>2023-04-12T20:21:34Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-12T19:59:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=767c91557e6b6bc5429f30b886f8a314df2ddf22'/>
<id>urn:sha1:767c91557e6b6bc5429f30b886f8a314df2ddf22</id>
<content type='text'>
This is a bit big, but it's not that _complicated_.

The idea here is that we use serde's "untagged" enum facility
when parsing our `Request`s, such that if parsing as a `Request`
fails, we parse as an `InvalidRequest` and try to report
what the problem was exactly.

This lets us determine the ID of a request (if it had one),
so we can report that ID in our error message.  We can also
recover from a much broader variety of errors.

We now also conform with the spec reporting errors about
completely wrong json, requests without IDs, and so on.
</content>
</entry>
<entry>
<title>arti-rpcserver: Be careful about saying "result".</title>
<updated>2023-04-12T16:08:53Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-12T16:08:53Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6bdfc5740f7244dc05faa5c5a199b94294923f2f'/>
<id>urn:sha1:6bdfc5740f7244dc05faa5c5a199b94294923f2f</id>
<content type='text'>
Even though json-rpc uses "result" to mean "a successful return value
from a method", we can't: Rust's `Result` type is so pervasive
that confusion would be inevitable.
</content>
</entry>
</feed>
