| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
| |
| |
| |
| | |
This was an XXXX before. Now it explains why the behavior is safe for
now, but maybe not forever.
|
| | |
| |
| |
| |
| | |
The original comment was a gnomic question about what to box; the real
issue is that we want to avoid copying data in our critical path.
|
| | |
| |
| |
| |
| |
| |
| | |
Previously we didn't retain the value of our cache_usage field when
calling reset() from GetMicrodescsState.
This resolves an XXXX comment.
|
| |\ \
| | |
| | |
| | |
| | | |
Extend trace messages for destroy/truncated reasons.
See merge request tpo/core/arti!200
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It makes sense to put the method for human-readable strings onto the
type itself, so that we can format these whenever they occur.
I'm choosing the "human_str" method name here, since caret-generated
types already have a to_str. I was thinking about using Display,
but caret types already implement that.
I've also moved the message from "warn!" to "debug!", since these
aren't necessarily a problem condition.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Refactor directory events to use a new FlagPublisher mechanism.
See merge request tpo/core/arti!188
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This approach tries to preserve the current interface, but uses a
counter-based event backend to implement a coalescing stream of
events that can be represented as small integers. The advantage
here is that publishing events no longer needs to be a blocking
operation, since there is no queue to fill up.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This warning occurs if we ask for microdescriptors from our local
cache, and our cache gives us something we didn't ask for. It
shouldn't be possible, so let's warn when it occurs.
This patch resolves an XXXX.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Emphasize that circuit expiration functions _decide whether to
expire the circuit_, and don't expire it automatically.
|
| |\ \ \ \
| |_|/ /
|/| | | |
|
| | | | | |
|
| |\ \ \ \ |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | |/ /
| |/| | |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Always check whether stream-level SENDMEs are expected.
Closes #261
See merge request tpo/core/arti!192
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
(It's a protocol violation to get a SENDME when our send window is
already full.)
This patch makes SendWindow::put return a Result, so that it's
easier to do the right thing with it.
Closes #261.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
proxy: introduce new functions to write_all & flush/close
Closes #262
See merge request tpo/core/arti!199
|
| | | |/ /
| |/| |
| | | |
| | | | |
Signed-off-by: Muhammad Falak R Wani <[email protected]>
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
Remove unused started_at in PendingRequest
See merge request tpo/core/arti!196
|
| | | | | |
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
tor-chanmgr: Fix happy eyeballs comment grammar in builder.rs
See merge request tpo/core/arti!197
|
| |/ / / |
|
| |\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | | |
Actually decrement the stream-level SENDME window
Closes #260
See merge request tpo/core/arti!194
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
arti!126 overhauled the `tor-proto` circuit reactor, but left out one
very important thing: actually decrementing the SENDME window for
streams (not circuits) when we send cells along them.
Since the circuit-level SENDME window would often prevent us from
running into a problem, this wasn't caught until my benchmarking efforts
noticed it (in the form of Tor nodes aborting the circuit for a protocol
violation).
fixes arti#260
|
| |\ \ |
|
| | | |
| | |
| | |
| | | |
Signed-off-by: Muhammad Falak R Wani <[email protected]>
|
| |\ \ \ |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | |/ / |
|
| | |/
|/| |
|
| |\ \
| | |
| | |
| | |
| | | |
Make most arti-client fields reconfigurable.
See merge request tpo/core/arti!181
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
We join "state" to the directory name, so we must call parent() to get
the original.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
This is still not as soon as I'd like: a real change here will require
refactoring DirMgr::notify().
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We don't want MutCfg to be automatially coneable, or we'll wind up with
surprises like the one that this patch fixes in TorClient.
(The "surprise" is that reconfigure() would only apply its
client-specific options to one client instance.)
|
| | | |
| | |
| | |
| | |
| | |
| | | |
If we allow overlapping reconfiguration requests, we introduce all
kinds of "fun" bugs. For example, we could wind up with a configuration
made up of parts of one reconfiguration attempt, and parts of another.
|
| | | |
| | |
| | |
| | |
| | | |
It no longer makes sense to say "most things can't change", now that
most things can.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We can't change the authorities while in-flight: that would be pretty
miserable to implement.
Similarly we can't change the cache while in-flight.
Everything else should be fair game, though there are a couple of tricky
bits. I've tried to document those.
|
| | | |
| | |
| | |
| | | |
This covers ClientAddrConfig and ClientTimeoutConfig.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Most notably, make min_exit_circs_for_port actually get used.
Also add a couple of comments.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
This required re-centralizing the configuration object for preemptive
circuits, since previously the settings from it were a bit spread out
over the crate.
|
| | | |
| | |
| | |
| | |
| | | |
This will help in the case when a configuration can only partially
change.
|
| | | | |
|