| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
|
| |
This makes it clearer that this is a specific term, which a
definition.
|
| |
|
|
|
| |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2793#note_3161972
|
| |
|
|
|
| |
The rustdocs for a fn in a trait impl are rendered, but are very
unobvious. Put the information in the top-level documentation.
|
| |
|
|
| |
We'll expose this with some new traits in tor_rtmock.
|
| | |
|
| |
|
|
|
|
|
| |
No change to output, but much less open-coding.
Move the doc comment that was on the Debugg impl, to the `DebugTasks`
helper struct.
|
| |
|
|
| |
Show where each test sub-case is started, in stderr output.
|
| |
|
|
| |
We're going to add another call site.
|
| |
|
|
| |
We're going to add another call site.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
We're going to want to add a field inside the Arc but not inside the
Mutex, so make the Arc contents into a named-fields struct.
We don't need ArcMutexData any more. Arc<Shared> will do fine.
Previously, we needed to implement .lock() on ArcMutexData but because
Arc<Shared> derefs to Shared, we can implement it on Shared just as
well.
The field in MockExecutor ought to be renamed, but that's textually
intrusive so will come in the next commit.
|
| |
|
|
|
| |
In an earlier version of this code there was a Polling state, but
there isn't now.
|
| | |
|
| |
|
|
|
| |
This renames UnsupportedStreamOpsHandle to NoOpStreamOpsHandle for
clarity (the old name kind of sounded like the name of an error type).
|
| | |
|
| |
|
|
|
| |
We're about to add a trait bound that forces `MockTlsStream` to impl
`StreamOps`.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
Previously, if r is Pending, `fut` is moved out of (stored in
`task.fut`), whereas if r is Ready, it is retained and then dropped at
the end of the loop iteration. This is quite subtle, and involves
`fut` being in a "maybe moved out of" state (which cannot be
represented in Rust's surface type system) after the block with the
`data` lock.
Let's write code that more clearly ensures that the compiler DTRT.
|
| |
|
|
|
| |
This passes right now, but only because the lifetime of the `fut`
variable in `execute_until_first_stall` happens to be right.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Due to the limitations on RPIT, it's better to use a GAT for now.
|
| | |
|
| |
|
|
|
| |
This adds a new SpawnBlocking trait, which exposes the spawn_blocking
function that tokio, async-std, and other runtimes have.
|
| |\
| |
| |
| |
| | |
clippy: deny `mod_module_files`
See merge request tpo/core/arti!2689
|
| | |
| |
| |
| |
| |
| | |
Denies 'mod.rs' files for consistency.
https://rust-lang.github.io/rust-clippy/master/index.html#mod_module_files
|
| |/ |
|
| | |
|
| | |
|
| |
|
|
| |
Part of #1769
|
| |
|
|
|
|
|
|
| |
In 1.83, this warning triggers on many of our crates.
We're thinking of fixing them all, but for now,
we're going to disable the warning.
This is part of #1765.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2502#note_3090557
|
| |
|
|
|
|
| |
Discussion here
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2502#note_3090554
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2502#note_3090556
|
| |
|
|
|
|
| |
Change the waker to have a weak reference to the executor.
Detected by miri.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
It turns out that these types are generally useful, and that they
are in fact needed for tor-rtmock to compile without a PreferredRuntime.
|
| |
|
|
| |
(The trait no longer has any async methods.)
|
| | |
|
| |
|
|
|
|
| |
Stop referring to TCP streams in its documentation;
update other documentation to refer to NetStreamProvider
rather than TcpProvider.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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.)
|
| |
|
|
|
|
|
|
|
|
| |
It's redundant with the incoming() method (which turns the
TcpListener into a Stream of connections), and nothing actually used
it outside of tests.
Removing this method allows us to simplify our TcpListener code a
good deal, as can be seen by some of the implementations we removed
from our example and testing code.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Having this in the `tor-async-utils` crate prevents us from doing both
of the following without introducing a circular dependency:
* using it in `tor-rtmock` (which we currently do, particularly in
tests).
* using `tor-rtmock` to test things in `tor-async-utils`. We don't do
this yet, but it is generally sensible to do so. In particular we
want to move the `stream_peak` module there, which is currently tested
with `tor-rtmock`.
Moving this into its own crate avoids this circular dependency.
|