<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-testing/src/rt, branch arti-v1.4.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-01-15T13:49:17Z</updated>
<entry>
<title>tor-rtcompat: Rename UnsupportedStreamOps to NoOpStreamOpsHandle (fmt).</title>
<updated>2025-01-15T13:49:17Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-01-13T11:49:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=dc4fe47d5388074352ac00b561bed978779446e0'/>
<id>urn:sha1:dc4fe47d5388074352ac00b561bed978779446e0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-rtcompat: Rename UnsupportedStreamOps to NoOpStreamOpsHandle.</title>
<updated>2025-01-15T13:49:17Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-01-13T11:48:16Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4ec53ca4dea324c2c170885d8556a67c802e491d'/>
<id>urn:sha1:4ec53ca4dea324c2c170885d8556a67c802e491d</id>
<content type='text'>
This renames UnsupportedStreamOpsHandle to NoOpStreamOpsHandle for
clarity (the old name kind of sounded like the name of an error type).
</content>
</entry>
<entry>
<title>tor-rtcompat: Implement new_handle() using TcpSockFd (fmt).</title>
<updated>2025-01-15T13:49:17Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-01-09T19:08:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1896261523f14beb8eb7ee1bf1ba5f129c749dca'/>
<id>urn:sha1:1896261523f14beb8eb7ee1bf1ba5f129c749dca</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-rtcompat: Implement new_handle() using TcpSockFd.</title>
<updated>2025-01-15T13:49:17Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-01-08T19:35:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f70ef5e04483c2d41f2efd98c9854e6447654bc6'/>
<id>urn:sha1:f70ef5e04483c2d41f2efd98c9854e6447654bc6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-rtcompat: Add the ability to get a StreamOps handle.</title>
<updated>2025-01-15T13:49:17Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-01-08T11:06:59Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=267235969df65d975b5deb01c342e1073d4c3847'/>
<id>urn:sha1:267235969df65d975b5deb01c342e1073d4c3847</id>
<content type='text'>
Needed for cases where we wrap an object that implements `StreamOps` in
an external type, thereby losing access to the `StreamOps`
functionality. For example, during the channel handshake, we `.split()`
the stream that implements `StreamOps`, which leaves us with a
`SplitSink` and a `SplitStream`, neither of which implement `StreamOps`.
Getting a handle to the underlying object that implements `StreamOps`
(for example, a file handle) *before* the stream is `.split()` enables
us to use `StreamOps` to manipulate the underlying split stream.

This commit also introduces a special `UnsupportedStreamOpsHandle`,
which is a type that implements `StreamOps`, but always returns an
error. This type is meant to simplify error handling and usage, and is
meant to be used in cases where `StreamOps` is not supported. TODO: the
name of this type is pretty confusing (it's very similar to
`UnsupportedStreamOp`, which is an error type), and should probably be
renamed to something else (`NoOpStreamOpsHandle`,
`BrokenStreamOpsHandle`, `DummyStreamOpsHandle` come to mind...).

Note: this changes the `StreamOps` trait to be slightly different from
what I originally envisioned in !2660 and #1769
</content>
</entry>
<entry>
<title>tor-rtcompat: Implement StreamOps for all the stream types.</title>
<updated>2024-12-10T10:34:48Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-12-05T15:00:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=56e9b79b09c65caee25a50c083fdd40f8c66f040'/>
<id>urn:sha1:56e9b79b09c65caee25a50c083fdd40f8c66f040</id>
<content type='text'>
Part of #1769
</content>
</entry>
<entry>
<title>rtcompat: remove async_trait from NetStreamListener.</title>
<updated>2024-09-24T13:10:11Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-09-22T19:26:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b53b465d81b39433048b459924e0c481bad84a07'/>
<id>urn:sha1:b53b465d81b39433048b459924e0c481bad84a07</id>
<content type='text'>
(The trait no longer has any async methods.)
</content>
</entry>
<entry>
<title>Make Runtime require NetStreamProvider&lt;unix::SocketAddr&gt;</title>
<updated>2024-09-24T13:10:11Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-09-22T19:17:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7a56ae00ffb6e45783b0eb837098ea894ade5861'/>
<id>urn:sha1:7a56ae00ffb6e45783b0eb837098ea894ade5861</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Documentation updates for "NetStreamProvider" rename</title>
<updated>2024-09-24T13:10:11Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-09-19T12:13:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=07ca20d4aaa7081bd901cc487fbb093bf05f5a76'/>
<id>urn:sha1:07ca20d4aaa7081bd901cc487fbb093bf05f5a76</id>
<content type='text'>
Stop referring to TCP streams in its documentation;
update other documentation to refer to NetStreamProvider
rather than TcpProvider.
</content>
</entry>
<entry>
<title>rtcompat: Rename TcpProvider to NetStreamProvider.</title>
<updated>2024-09-24T13:10:11Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-09-19T11:55:22Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8c2d84000e4d5ba74e7b6b4e9dac3fc700f618b5'/>
<id>urn:sha1:8c2d84000e4d5ba74e7b6b4e9dac3fc700f618b5</id>
<content type='text'>
(And similarly rename TcpListener to NetStreamListener,
along with their TcpStream/TcpListener associated types.)

These types are about to become generic over addresses,
and therefore shouldn't be named after TCP.

Renaming was done mostly with Rust Analyzer,
except for some macros that needed to be hand-edited.

(I'll revise the comments in the next commit;
this one is all about renaming.)
</content>
</entry>
</feed>
