<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-rpc-client-core/src/conn.rs, branch arti-v1.2.8</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.8</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.2.8'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2024-09-10T18:25:43Z</updated>
<entry>
<title>rpclib: Rename connect.rs to stream.rs</title>
<updated>2024-09-10T18:25:43Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-09-10T18:25:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=10728f57bcbb1b42cc3efec5ac07b507d916c1a2'/>
<id>urn:sha1:10728f57bcbb1b42cc3efec5ac07b507d916c1a2</id>
<content type='text'>
(This is about DataStreams, so we should make it less confusing.
This commit is _just_ about the file renaming, with no associated
function renaming.)
</content>
</entry>
<entry>
<title>rpclib: FFI for opening data streams.</title>
<updated>2024-09-09T14:52:56Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-26T15:31:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8fd335e5ae7ad761efe3030e33b7004ec70fc2ff'/>
<id>urn:sha1:8fd335e5ae7ad761efe3030e33b7004ec70fc2ff</id>
<content type='text'>
There's a blocking TODO here about exposing socks error codes that
I still need to solve.
</content>
</entry>
<entry>
<title>rpclib: Support opening a data stream.</title>
<updated>2024-09-09T14:52:56Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-08-23T02:08:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=035aaa8fabf8489167e5a60bbe84fd0c4acccfe6'/>
<id>urn:sha1:035aaa8fabf8489167e5a60bbe84fd0c4acccfe6</id>
<content type='text'>
Requires #1523.

Implements #1524.
</content>
</entry>
<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>
</feed>
