<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-rtcompat/src/compound.rs, branch arti-v2.1.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.1.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.1.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-01-29T17:56:18Z</updated>
<entry>
<title>rtcompat: new server-related members on TlsProvider trait.</title>
<updated>2026-01-29T17:56:18Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-01-27T17:28:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bc856a46856d7585cdf6474e7f491b51afeffa1f'/>
<id>urn:sha1:bc856a46856d7585cdf6474e7f491b51afeffa1f</id>
<content type='text'>
These are as yet unimplemented; there's a stub type
for the providers (nativetls) that won't actually have them.
</content>
</entry>
<entry>
<title>opentelemetry: Instrument a bunch of functions.</title>
<updated>2025-11-24T16:28:07Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2025-11-24T16:28:07Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a4db6a7495b13dd7b00416dd1660a5ad82b60919'/>
<id>urn:sha1:a4db6a7495b13dd7b00416dd1660a5ad82b60919</id>
<content type='text'>
These are all aimed at figuring out in more detail what's going on
in #2079 and related issues.
</content>
</entry>
<entry>
<title>tor-rtcompat: BlockOn: relax bounds on reenter_block_on</title>
<updated>2025-04-09T16:52:03Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-04-07T16:58:45Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2a7dc6c46274e0d96e773c031cabd5373483429e'/>
<id>urn:sha1:2a7dc6c46274e0d96e773c031cabd5373483429e</id>
<content type='text'>
The future no longer needs to be `Send + 'static`.
</content>
</entry>
<entry>
<title>tor-rtcompat: Rename spawn_thread to spawn_blocking</title>
<updated>2025-03-04T17:33:25Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-03-04T15:39:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=11049b07c419fc7544c382a98ea8366d6b468daf'/>
<id>urn:sha1:11049b07c419fc7544c382a98ea8366d6b468daf</id>
<content type='text'>
Let's use Tokio terminology here.
</content>
</entry>
<entry>
<title>tor-rtcompat: CompoundRuntime: Rename TaskR member from SpawnR</title>
<updated>2025-03-04T17:30:43Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-02-26T16:10:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d7d8affb67e8009257dca1b4ef05117de364bd66'/>
<id>urn:sha1:d7d8affb67e8009257dca1b4ef05117de364bd66</id>
<content type='text'>
This member is the principal one which implemnets Spawn, Blocking and
perhaps ToplevelBlockOn.  It doesn't appear that we actually need to
split this into multiple members.
</content>
</entry>
<entry>
<title>tor-rtcompat: Provide Blocking::blocking_io</title>
<updated>2025-03-04T17:30:43Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-02-26T16:03:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9a491ce278bb581405aecd5dbef36d0f4aef1198'/>
<id>urn:sha1:9a491ce278bb581405aecd5dbef36d0f4aef1198</id>
<content type='text'>
This was referenced and explained from the docs, but didn't exist yet.
Here it is.

Everyone except the Tokio glue, and the CompoundRuntime, just use the
default implementation in terms of spawn_thread.  spawn_thread has a
more relaxed contract, so this is correct.
</content>
</entry>
<entry>
<title>tor-rtcompat: Provide a new function for executor re-entry</title>
<updated>2025-03-04T17:30:43Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-02-26T16:03:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=878c32bc1e9027fa3cf405c87f5323b94969b0fb'/>
<id>urn:sha1:878c32bc1e9027fa3cf405c87f5323b94969b0fb</id>
<content type='text'>
Forbid re-entering the executor using ToplevelBlockOn::block_on.

This was always forbidden in the case of MockExecutor, but that meant
that tests using MockExecutor would malfunction if the code under test
needed to re-enter the executor from sync code (since the code under test
would have to use block_on, which wrong).  See #1835.

Provide a function which *can* do this, reenter_block_on.  The
MockExecutor needs to know the difference, and other runtimes may too.
They are conceptually quite different operations.

Introduce ToplevelRuntime as a convenience alias.
</content>
</entry>
<entry>
<title>tor-rtcompat: New plan for blocking interaction, Blocking trait</title>
<updated>2025-03-04T17:30:43Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-02-25T14:10:35Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=20eabfcc81a2d0df61ce297b28c7412c3ceab7fd'/>
<id>urn:sha1:20eabfcc81a2d0df61ce297b28c7412c3ceab7fd</id>
<content type='text'>
* Document the new plan for blocking interaction in the trait-level
  docs for the Blocking trait (used to be SpawnBlocking).
  Add cross-references (in some cases to not-yet-existing pieces).

* Rename: spawn_blocking to spawn_thread.  We're going to distinguish
  thread-creation (relatively expensive) from brief entry to sync code
  (relatively cheap, but more restricted).

* Rename the SpawnBlocking trait to Blocking, and its ThreadHandle
  to ThreadHandle.  This trait is going to gain more functionality.

* Add the missing mention of `Blocking` to the docs for `Runtime`.
</content>
</entry>
<entry>
<title>tor-rtcompat: Rename BlockOn to ToplevelBlockOn</title>
<updated>2025-03-04T17:30:43Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-02-13T17:39:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=849558047071897b9bbdbdd28d06d15b52b3af10'/>
<id>urn:sha1:849558047071897b9bbdbdd28d06d15b52b3af10</id>
<content type='text'>
We're going to distinguish top-level runtime entry, from *re*-entry to
an existing executor.  It is most convenient to rename this trait
first.  Documentation of the distinction will come later.

(We're going to retain the function name `block_on`, but we want the trait
to be more obviously a top-level only thing, though, so we give it a
name that will hopefully avoid it peroulating throughout the codebase..)
</content>
</entry>
<entry>
<title>tor-rtcompat: Big invasive change adding StreamOps bound everywhere.</title>
<updated>2025-01-15T13:49:17Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-01-08T19:08:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f04709c16d0ebf039779c404cf0c907f13965852'/>
<id>urn:sha1:f04709c16d0ebf039779c404cf0c907f13965852</id>
<content type='text'>
This is unfortunately necessary, because after the channel handshake, we
need to give the channel reactor a `StreamOps` handle to the underlying
stream.
</content>
</entry>
</feed>
