| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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..)
|
| |/ /
| |
| |
| | |
The MockExecutor doesn't have a threadpool.
|
| | |
| |
| |
| |
| |
| |
| | |
This commit adds the RSA ID of a relay into a debug statement, as found
in other places in the code. It mostly serves the purpose that the
Ed25519 ID in itself is rather inconvenient, as metrics.torproject.org
only allows querying from the RSA ID.
|
| |\ \
| | |
| | |
| | |
| | | |
tor-proto: Update CtrlCmd and CtrlMsg docs.
See merge request tpo/core/arti!2829
|
| | | |
| | |
| | |
| | |
| | |
| | | |
In aa08ede11fd483cd6dcb4522c431f9e07001717e, the reactor loop was
rewritten to unconditionally read from the `CtrlMsg` channel, so we need
to adjust the docs.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
tor-proto: Add CtrlCmd:ShutdownAndReturnCircuit
Closes #1876
See merge request tpo/core/arti!2831
|
| | | | |
| | | |
| | | |
| | | | |
Closes #1876
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This will be used to implement the new `ShutdownAndReturnCircuit`
control command.
Part of #1876
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Some of these were supposed to be `bad_api_usage`, because they result
from API misuse rather than an internal error (bug).
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This will enable us to reuse these checks for implementing other methods
that are only supported if the conflux set has a single leg.
|
| | |/ /
| | |
| | |
| | |
| | |
| | | |
For consistency with the `CtrlCmd::Shutdown` handling from
`Reactor::wait_for_create` (`handle_shutdown()` also prints a helpful
trace log).
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
tor-congestion: remove crate
See merge request tpo/core/arti!2828
|
| | | | | |
|
| | |/ /
|/| | |
|
| |\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
tor-proto: Rewrite reactor loop to read from all circuits.
Closes #1863
See merge request tpo/core/arti!2817
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
This was left over from the refactoring that moved the inner `select`
into the `ConfluxSet` impl.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit updates the `Reactor::run_once()` loop to attempt to read
from (and write to) all of its circuit legs as opposed to just the
primary one.
Note that this slightly changes the behavior of the reactor. Previously,
we'd only read from the control channel if the `chan_sender` was ready,
whereas now the control channel is unconditionally read from, in the
*outer* select. The overall effect is that the control channel can cause
unbounded buffering in the `chan_sender` of each circuit (which can
happen if the `chan_sender` is not ready to send). This was actually how
the reactor worked before the refactoring from !2747, which is
reflected in the `chan_sender` docs:
```rust
/// Sender object used to actually send cells.
///
/// NOTE: Control messages could potentially add unboundedly to this, although that's
/// not likely to happen (and isn't triggereable from the network, either).
chan_sender: SometimesUnboundedSink<AnyChanCell, ChannelSender>,
```
I don't believe this to be a problem, for the reason mentioned in the
`chan_sender` docs, and because the main reason we check for
`chan_sender` readiness is to apply backpressure on senders, which is
not something we need to worry about when it comes to the control
channel. Besides, the control channel is unbounded, so not reading
from it won't stop the senders from sending more commands anyway.
Closes #1863
|
| | | |
| | |
| | |
| | |
| | | |
This tells the reactor to remove a given circuit from the conflux set,
and will be used to remove the circuits that have been shut down.
|
| | |/ |
|
| |\ \
| | |
| | |
| | |
| | | |
Remove semver files for 1.4.1
See merge request tpo/core/arti!2827
|
| | | | |
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
tor-proto: Remove unnecessary async block.
See merge request tpo/core/arti!2815
|
| | | | |
|
| | |/
| |
| |
| |
| | |
`futures::future::poll_fn` returns a future, so the `async` block isn't
actually necessary.
|
| | | |
|
| | | |
|
| |/
|
|
|
| |
These crates have upgraded to a newer derive_more,
and have had no other changes.
|
| |\
| |
| |
| |
| |
| |
| | |
Make DataStream, and its members, implement Sync.
Closes #1859
See merge request tpo/core/arti!2808
|
| | |
| |
| | |
Co-authored-by: Ian Jackson <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| | |
Also, use static_assertions to enforce that that they
_stay_ Send+Sync.
Closes #1859.
|
| |\ \
| | |
| | |
| | |
| | | |
tor-keymgr: Minor README updates
See merge request tpo/core/arti!2806
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
arti: Disable color when stdout is not a tty.
Closes #1763 and #1862
See merge request tpo/core/arti!2802
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Closes #1763.
Closes #1862.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
tor-proto: Add ConfluxSet type in the reactor
See merge request tpo/core/arti!2804
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
As suggested by opara in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2804#note_3165059
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
It used to be a Reactor, but the `reactor` variable name no longer makes
sense.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This helps us get rid of some unnecessary error handling.
Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2804#note_3165058
|