| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
|
| | |
| |
| |
| | |
We can't use discriminants here now, but maybe we can in the future.
|
| | | |
|
| | |
| |
| |
| | |
So we get a stack trace
|
| | |
| |
| |
| |
| | |
We're about to reuse this and we'll want it to take the higher-level
type. Also it seems more proper like this.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
Closes #322.
|
| | | |
|
| | |
| |
| |
| |
| | |
This isn't complete (see TODO), but it's enough to let us report the
right ErrorKind if something fails to parse.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
It had too many possible Kinds depending on what kind of string had
failed to parse.
I decided to use #[source] here instead of #[from], so that we
would have to explicitly convert these errors where they show up.
|
| | |
| |
| |
| |
| | |
At first I had thought that all sqlite errors would be internal, but that's
not the case.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
From its old name, this error had implied that we were giving no
useful information when we were waiting on a pending cirucit request
that failed. In fact, this error would only happen if we dropped the
`mpsc::Sender` for a circuit attempt without reporting success or
failure.
|
| | |
| |
| |
| | |
(Instead of reporting the _last_ error, report the _worst_ error.)
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These errors should almost never be seen by the user; we should instead
retry the circuit. But they _can_ be seen by the use if selecting a
guard takes too long, or too many attempts. (Therefore, they aren't true
"internal" errors.)
I suspect that we might not want to keep this TransientFailure kind, but
I'm not sure what else to do here for now.
|
| | |
| |
| |
| | |
There are a couple of tricky ones I'll do separately.
|
| | | |
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
Remove some needless refs and slicing
See merge request tpo/core/arti!327
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
These (&foo).into() constructions are needed so we use the
implemnetation of `From<&Foo>`, not a recursive call to this very
function.
This is a partial revert of the previous commit. I'm making this a
separate commit for the benefit of posterity.
|
| | | |
| | |
| | |
| | |
| | | |
Prompted by nightly's clippy (which has some false positives, so is
currently disabled).
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Make CircMap open_ent_count O(1)
See merge request tpo/core/arti!302
|
| | | | | |
|
| | | | | |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
arti: create TorClient first, then bootstrap.
Closes #336
See merge request tpo/core/arti!320
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This change is possible now that #293 is done.
As an immediate benefit, it allows us to start monitoring the
configuration files immediately, and not only after we're done
bootstrapping the client.
Closes #336.
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Fix typos
See merge request tpo/core/arti!326
|
| | | |/ / /
| |/| | | |
|
| |\ \ \ \ \
| |/ / / /
|/| | / /
| | |/ /
| |/| | |
Re-enable clippy::ptr_arg where it had been disabled.
See merge request tpo/core/arti!323
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In one of the two places, nightly no longer warns. In the other
place, it's fine for nightly to warn: I just fixed the code to take
a slice instead.
Partial revert of 856aca879151c622512bc4b15c6307808fc83e82.
Resolves part of #310.
|
| |\ \ \ \
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | | |
arti-client: add ability to automatically bootstrap
Closes #278
See merge request tpo/core/arti!322
|
| | | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The new `BootstrapBehavior` enum controls whether an unbootstrapped
`TorClient` will bootstrap itself automatically (`Ondemand`) when an
attempt is made to use it, or whether the user must perform
bootstrapping themselves (`Manual`).
The `lazy-init` example shows how you could write a simple
`get_tor_client()` function that used a global `OnceCell` to share
a Tor client across an entire application with this API.
closes arti#278
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Implement HasKind for tor-chanmgr::Error
See merge request tpo/core/arti!324
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
(There will be a folowup to work on internal errors here.)
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
Simplify tor-netdir::Error by a *lot*
See merge request tpo/core/arti!319
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
There's no reason to have the test-network-construction code share an
error enum with the main netdir code.
|
| | |/ /
| | |
| | |
| | |
| | | |
This turns out to have been most of them, which
simplifies matters a lot.
|
| |\ \ \
| |_|/
|/| |
| | |
| | | |
tor-cell and tor-proto: provide HasKind.
See merge request tpo/core/arti!304
|
| | | | |
|