| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
```
These crates have new APIs:
tor-async-utils ADDED
tor-config ADDED
tor-hscrypto ADDED
tor-netdoc ADDED, plus BREAKING-experimental.
These crates have patch-level changes only:
tor-netdir (bugfix only). (re-exposes netdoc)
arti-rpcserver (tweaks only, uses nothing that broke.)
arti 1.1.10, no stable public APIs.
```
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
```
tor-basic-utils BREAKING
tor-rtmock BREAKING.
tor-cert BREAKING
tor-cell BREAKING
tor-proto BREAKING: re-exposes cell. (Also BREAKING-experimental)
tor-chanmgr BREAKING: Re-exposes proto.
tor-ptmgr BREAKING: re-exposes tor-chanmgr
tor-guardmgr BREAKING: re-exposes proto. (Only for ClockSkew I think?)
tor-circmgr BREAKING: re-exposes proto
tor-dirclient BREAKING
tor-hsclient BREAKING, re-exposes proto.
tor-hsservice BREAKING, re-exposes proto.
tor-hsrproxy BREAKING
arti-client BREAKING: re-exposes proto.
arti-hyper: BREAKING, re-exposes arti-client.
tor-dirmgr Let's assume BREAKING, very high-level.
tor-keymgr BREAKING, but experimental.
```
|
| | |
|
| |
|
|
|
|
|
|
| |
Without this, it can be a bit confusing since you just get the
output (if any) of all the test runs, concatenated. It seems sensible
to put the framing centrally.
And, this would be helpful if the test fails for any reason.
|
| | |
|
| |
|
|
| |
cargo fmt, precisely.
|
| | |
|
| |
|
|
| |
This was a slip.
|
| | |
|
| | |
|
| |
|
|
|
| |
Adding "/// " to every line causes rustfmt to have conniptions about
the trailing whitespace.
|
| |
|
|
|
|
|
|
|
|
|
| |
This example demonstrates MockSleepRuntime, which we don't want to use
in new tests.
It's probably worth keeping it, though, to help with comprehension of
existing tests. So move it.
This does rather highlight the lack of good overall
example/instructions for MockRuntime.
|
| | |
|
| |
|
|
| |
This is clearer, I think.
|
| |
|
|
| |
This is clearer, I think.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
The module-level docs here are less visible and also not where most of
the other stuff was.
|
| | |
|
| | |
|
| |
|
|
| |
And introduce a table showing the situations.
|
| |
|
|
|
| |
We don't need it any more; we won't call wake again.
So, call .wake() rather than .wake_by_ref().
|
| |
|
|
|
|
| |
Making the SleepFuture first means we don't call .wake_any() with the
other invariants violated. This doesn't actually matter with the code
as it stands, but it's less confusing this way.
|
| |
|
|
|
| |
This helped me diagnose
https://gitlab.torproject.org/tpo/core/arti/-/issues/1040
|
| |
|
|
| |
We're going to want to add something to it.
|
| | |
|
| |
|
|
|
| |
Now we're making breaking changes anyway, in or mock crate, it is a
convenient time to get rid of this.
|
| | |
|
| |
|
|
|
|
| |
This was named after the method from MockSleepRuntime. The name is
confusing because it seems to imply it might do something to the
monotonic time.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For now we do this by changing the meaning of the name
`MockSleepProvider` in runtime.rs. This is a bodge to reduce noise in
this diff.
Consequences at call sites:
* If the type is named somehow, the other type must be used.
* SimpleMockTimeProvider calls it jump_wallclock rather than jump_to,
which is IMO a better name. (MockRuntime will change in a moment.)
* SimpleMockTimeProvider's advance() function isn't async and doesn't
yield. But none of the call sites actually mind that.
|
| | |
|
| |
|
|
|
|
|
|
| |
For our time provider we want a priority queue that lets us look up
entries and delete them. std's Heap doesn't do that. priority-queue
has the API we need and reasonable stats etc, and is maintained.
It has some IMO-tolerable licence wrinkles.
|
| |
|
|
| |
Nowadays there are methods for this.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
This will change the ordering in the docs.
|
| | |
|
| |
|
|
|
|
|
|
| |
advance_by can be used in a more natural way, rather than having to
manually advance the clock in chunks to avoid triggering only the
first sleep.
It can also detects some "timeout triggered precisely" edge case bugs.
|
| |
|
|
| |
We should encourage the use of this, rather than Spawn::spawn()
|
| |
|
|
| |
There's another reason you can see multiple backtraces.
|
| |
|
|
|
|
|
| |
There may be several backtraces for an asleep task. If so, print the
prefix for each one.
There may be no backtraces for an asleep task. If so, print a message.
|
| | |
|
| |
|
|
| |
With explanation of how it works.
|
| |
|
|
|
|
|
| |
Do a full dump, not just a normal Debug dump, when we're panicking in
progress_until_stalled.
Add a debug dump call to one of the tests, so we can see it working.
|