summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | Move RetryDelay from dirmgr to basic-utils.Nick Mathewson2022-03-165-155/+171
| | | | | | | | | | | | | | | | | | | | | | | | | This (almost) a pure code-movement commit: it also makes one public function private in order to suppress a warning.
| * | | | RetryDelay: add accessors for stateNick Mathewson2022-03-161-5/+22
| | | | | | | | | | | | | | | | | | | | | | | | | We'll need these for our unit tests in tor-dirmgr once we move RetryDelay into tor-basic-utils.
| * | | | tor-basic-utils/Cargo.toml: reformat.Nick Mathewson2022-03-161-1/+2
| | |/ / | |/| | | | | | | | | | | | | | This is a separate commit to avoid putting format changes in the next commit.
* | | | Merge branch 'clippy' into 'main'Nick Mathewson2022-03-161-4/+1
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | Replace a match with some as_ref and as See merge request tpo/core/arti!413
| * | | Replace a match with some as_ref and asIan Jackson2022-03-161-4/+1
|/ / / | | | | | | | | | | | | | | | | | | The match was doing a deref coercion. Found by current nightly's needless_match (whose suggestion doesn't compile, https://github.com/rust-lang/rust-clippy/issues/8551 )
* | | Merge branch 'testing_dns_port' into 'main'Ian Jackson2022-03-162-3/+3
|\ \ \ | | | | | | | | | | | | | | | | Use port 35353 for testing, not 5353. See merge request tpo/core/arti!408
| * | | Use port 35353 for testing, not 5353.Nick Mathewson2022-03-152-3/+3
| |/ / | | | | | | | | | | | | Apparently 5353 is commonly used for mDNS, and so counts as "already in use" on many consumer machines.
* | | Merge branch 'dns' into 'main'Nick Mathewson2022-03-151-3/+2
|\ \ \ | |/ / |/| | | | | | | | fix rust-nightly CI job See merge request tpo/core/arti!409
| * | make run_dns_resolver public and fix typotrinity-1686a2022-03-151-3/+2
|/ /
* | Merge branch 'dns' into 'main'Nick Mathewson2022-03-1423-46/+614
|\ \ | | | | | | | | | | | | Add DNS resolver support to arti See merge request tpo/core/arti!390
| * | comment AAAA test and explain why it's disabledtrinity-1686a2022-03-141-1/+4
| | |
| * | add simple unit test on UDPtrinity-1686a2022-03-145-3/+48
| | |
| * | add integration test and fill semver_statustrinity-1686a2022-03-144-4/+14
| | |
| * | fix typos and minor issuestrinity-1686a2022-03-143-16/+24
| | |
| * | actually add DNS supporttrinity-1686a2022-03-145-5/+145
| | |
| * | add skeleton for DNS handlingtrinity-1686a2022-03-145-14/+99
| | |
| * | add udp to runtimetrinity-1686a2022-03-1416-37/+314
|/ /
* | Merge branch 'testing-docs' into 'main'Nick Mathewson2022-03-142-0/+344
|\ \ | | | | | | | | | | | | New documents to checkpoint my work on #329 and #87 See merge request tpo/core/arti!407
| * | Apply 1 suggestion(s) to 1 file(s)eta2022-03-141-1/+1
| | |
| * | New documents to checkpoint my work on #329 and #87Nick Mathewson2022-03-142-0/+344
| | | | | | | | | | | | | | | | | | | | | | | | | | | These documents explain how to profile arti for CPU and memory, and how to simulate different kinds of breakage and misconfiguration. They aren't at all in their final form, but I figure it's useful to check them in so that more people can look at them, and make suggestions.
* | | Merge branch 'intern-more' into 'main'Nick Mathewson2022-03-149-25/+91
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: use InternCache to save memory for families and protover lists Closes #384 and #385 See merge request tpo/core/arti!398
| * \ \ Merge branch 'main' into 'intern-more'Nick Mathewson2022-03-1414-99/+45
| |\ \ \ | |/ / / |/| | | | | | | # Conflicts: # doc/semver_status.md
* | | | Merge branch 'missing_shrink_to_fit' into 'main'eta2022-03-141-0/+7
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | dirmgr: Call shrink_to_fit on missing-microdesc hashtable Closes #388 See merge request tpo/core/arti!399
| * | | dirmgr: Call shrink_to_fit on missing-microdesc hashtableNick Mathewson2022-03-101-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This hashtable starts out pretty large, but it can spend most of our runtime (when we aren't downloading) being small. To avoid doing too much work, I've made it so we only call shrink_to_fit twice per consensus: once when we're no longer pending, and once when we're complete. Closes #388.
* | | | Merge branch 'slice-from-ref' into 'main'eta2022-03-143-49/+22
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Simpify tor-netdoc TokVal See merge request tpo/core/arti!404
| * | | | tor-netdoc: Actually, make TokVal be a VecIan Jackson2022-03-113-46/+22
| | | | | | | | | | | | | | | | | | | | | | | | | This enum was otiose: its set of valid values is precisely those of a Vec. (Indeed what would TokVal::Multi(vec![]) have meant?)
| * | | | Remove a pointless sliceIan Jackson2022-03-111-10/+7
| | | | | | | | | | | | | | | | | | | | std::slice::from_ref exists. Spotted while reviewing !400
* | | | | Merge branch 'humantime' into 'main'eta2022-03-1411-51/+18
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace humantime_serde_option with upstream code Closes #396 See merge request tpo/core/arti!406
| * | | | | humantime_serde_option: Add note about semverIan Jackson2022-03-141-1/+5
| | | | | |
| * | | | | Revert "humantime_serde_option: New module in tor-basic-utils"Ian Jackson2022-03-144-35/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have upstreamed this code. This reverts commit 6193c9d9742d1d19a45a0ee1c383858201304912.
| * | | | | Use new upstream humantime_serde_option featureIan Jackson2022-03-142-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | Replace all uses of our copy of this code.
| * | | | | humantime: Update to humantime-serde 1.1.1Ian Jackson2022-03-145-6/+6
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has the humantime_serde::option module, which we have upstreamed and are about to switch to. The remaining dependency with version = "1" is going to be removed in a moment.
| | | * | Canonicalize and intern protover lines on descriptorsNick Mathewson2022-03-116-17/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should save around 1MB per consensus, since every relay has a 'protocols' lines, but there are only a few distinct possibilities for such a line. Closes #385.
| | | * | Canonicalize and intern family representations to save memory.Nick Mathewson2022-03-114-9/+57
| |_|/ / |/| | | | | | | | | | | | | | | | | | | This should save 1-3 MB of ram on each running arti client. Closes #384. See also tor#27359 and proposal 298.
* | | | Merge branch 'arti-lib' into 'main'Ian Jackson2022-03-118-268/+329
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | arti: Move all code from binary crate to library crate See merge request tpo/core/arti!403
| * | | | arti library crate: Add another note about panickingIan Jackson2022-03-111-0/+4
| | | | |
| * | | | arti library crate: re-add clippy lintsIan Jackson2022-03-111-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I ought to have c&p these. As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/403#note_2786099
| * | | | arti library crate: Add note about panickingIan Jackson2022-03-111-0/+4
| | | | |
| * | | | Add note about semver.Ian Jackson2022-03-111-0/+4
| | | | |
| * | | | arti: Make main module entrypoints pubIan Jackson2022-03-116-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | This does not constitute any kind of stable API promise. But it might allow people to use our arti client code in novel ways.
| * | | | arti: Provide some rubric docs.Ian Jackson2022-03-111-0/+8
| | | | |
| * | | | arti: Move all code from binary crate to library crateIan Jackson2022-03-112-261/+269
| | | | | | | | | | | | | | | | | | | | This is just code motion and the minimal fixups.
* | | | | Merge branch 'smaller_routerstatus' into 'main'Nick Mathewson2022-03-117-32/+93
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: Save allocation space in GenericRouterstatus Closes #387 See merge request tpo/core/arti!400
| * | | | Add a more generic implementation of intern-by-refNick Mathewson2022-03-112-4/+12
| | | | |
| * | | | Add a missing newline.Nick Mathewson2022-03-111-1/+1
| | | | |
| * | | | netdoc: Call shrink_to_fit() when we're done parsing rs sectionsNick Mathewson2022-03-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | (Once we're done parsing these, the vector will never get any longer.)
| * | | | netdoc: allocate no extra space for RouterStatus addresses.Nick Mathewson2022-03-111-5/+6
| | | | | | | | | | | | | | | | | | | | This should save around 181K of heap on a current directory.
| * | | | netdoc: Make versions smaller in GenericRouterStatusNick Mathewson2022-03-115-11/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the version is a Tor version, we can just parse it; otherwise, we can intern it. This shrinks GenericRouterStatus and avoids a lot of extra help allocations.
| * | | | tor-netdoc: reformat cargo.toml.Nick Mathewson2022-03-111-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | This is the default vscode format, and seems popular elsewhere. This commit does nothing but reformat.
| * | | | tor-netdoc: Remove unused or_port field from RS.Nick Mathewson2022-03-112-6/+0
| | | | | | | | | | | | | | | | | | | | Part of #387