<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-rpc-client-core/src/conn.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-09-03T08:09:02Z</updated>
<entry>
<title>Fix typos</title>
<updated>2024-09-03T08:09:02Z</updated>
<author>
<name>Dimitris Apostolou</name>
<email>dimitris.apostolou@icloud.com</email>
</author>
<published>2024-09-03T08:09:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=676f913463b7d84f34dd6101b99d03ef79cf57ad'/>
<id>urn:sha1:676f913463b7d84f34dd6101b99d03ef79cf57ad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpclib, ffi: Allow simultaneous calls to `arti_rpc_handle_wait()`</title>
<updated>2024-08-27T13:45:12Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-22T15:21:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=76e6a24759b5fc1a04b53077acb19afb82c8df88'/>
<id>urn:sha1:76e6a24759b5fc1a04b53077acb19afb82c8df88</id>
<content type='text'>
Its underlying function previously took `&amp;mut RpcHandle`,
which was an accident waiting to happen.  Now it takes `&amp;RpcHandle`
and includes a Mutex to prevent multiple threads from waiting for
updates on the same request ID at once.

As an alternative, we *could* try to update connimpl::Receiver to
allow multiple simultaneous listeners on the same request ID.
But that would (I think) require a lot more bookkeeping, and thus
would be a bit more error-prone.

Closes #1532.
</content>
</entry>
<entry>
<title>rpclib: Allow ConnectionClosed in arti_socket_closed test</title>
<updated>2024-08-21T12:47:55Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-15T17:07:10Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d866fd0b2da368a8c02f060630a90b27c9770ce9'/>
<id>urn:sha1:d866fd0b2da368a8c02f060630a90b27c9770ce9</id>
<content type='text'>
This test is supposed to check the case where we launch a bunch
of requests but the socket is dropped before we get a response.
Different operating systems handle 'drop' a bit differently,
and schedule threads differently, so we shouldn't be surprised
at slightly different errors here.

In particular, OSX is more prone to deliver the close as a proper
"close" rather than an EPIPE or such, which previously broke
this test.

Closes #1510.
</content>
</entry>
<entry>
<title>ffi: Add support for request handles</title>
<updated>2024-08-12T18:35:09Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-06T15:57:54Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2364c6dc6d2fd16f08641a1fed2cbc970005dc66'/>
<id>urn:sha1:2364c6dc6d2fd16f08641a1fed2cbc970005dc66</id>
<content type='text'>
This API allows the caller to launch a request and then watch for
updates on it.
</content>
</entry>
<entry>
<title>rpclib: Unify error type for ValidatedRequest failure.</title>
<updated>2024-08-07T12:21:28Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-06T13:05:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5756400a33f1a4e35d676aaa90bad69ac34aaab2'/>
<id>urn:sha1:5756400a33f1a4e35d676aaa90bad69ac34aaab2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpclib: Refactor request canonicalization</title>
<updated>2024-08-07T12:21:28Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-06T12:50:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2eaa2dc0c902411b83365e9e2f11da268f98a8fd'/>
<id>urn:sha1:2eaa2dc0c902411b83365e9e2f11da268f98a8fd</id>
<content type='text'>
This lets us make a couple of types module-private,
and prepares the way for using the serde_json::Value trick on
requests too.
</content>
</entry>
<entry>
<title>Merge branch 'rpc-reencoding' into 'main'</title>
<updated>2024-08-05T18:07:58Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-05T18:07:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=32d95e1c99843f598afbfb85e30885d6bc2182fe'/>
<id>urn:sha1:32d95e1c99843f598afbfb85e30885d6bc2182fe</id>
<content type='text'>
rpc-client-core: Always re-encode requests and responses, and preserve unrecognized struct fields.

Closes #1491

See merge request tpo/core/arti!2312</content>
</entry>
<entry>
<title>rpclib: Split ParsedRequest and Request types.</title>
<updated>2024-08-04T14:27:46Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-04T14:27:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=197b906e38f49b8240d236fb614ceef873063d13'/>
<id>urn:sha1:197b906e38f49b8240d236fb614ceef873063d13</id>
<content type='text'>
(They are about to diverge even further.)
</content>
</entry>
<entry>
<title>rpc-client-core: Add thiserror #[source] annotations</title>
<updated>2024-08-03T12:45:54Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-03T12:45:54Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e0c5b3725bf63dbdb87b5ac92419514eab011a2a'/>
<id>urn:sha1:e0c5b3725bf63dbdb87b5ac92419514eab011a2a</id>
<content type='text'>
This will make error outputs more usable, and will make it possible
to expose OS error codes.
</content>
</entry>
<entry>
<title>Rename Utf8CStr=&gt;Utf8CString</title>
<updated>2024-07-31T17:54:16Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-07-25T17:58:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=31d3c76529abd72dbb224b0bb41a9e8ff425fcb9'/>
<id>urn:sha1:31d3c76529abd72dbb224b0bb41a9e8ff425fcb9</id>
<content type='text'>
</content>
</entry>
</feed>
