summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | maint/update-md-links: Add easy type annotationsIan Jackson2024-05-281-8/+12
|/ /
* | Merge branch 'chan_arc' into 'main'Nick Mathewson2024-05-2814-153/+212
|\ \ | | | | | | | | | | | | Proto: Refactor Channel to always be Arc. See merge request tpo/core/arti!2163
| * | Remove an outdated comment.Nick Mathewson2024-05-201-3/+0
| | |
| * | Make an arc clone explicit.Nick Mathewson2024-05-201-1/+1
| | |
| * | Fix a typo.gabi-2502024-05-201-1/+1
| | |
| * | proto: Divide up some elements of ChannelDetails.Nick Mathewson2024-05-162-52/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously ChannelDetails had a double duty: It held elements shared among the clones of a Channel, and it also held elements shared between the Channel and the Reactor. But now that Channel doesn't have to implement Clone, we can more the non-Reactor elements into Channel itself. This change may improve cache locality a bit, and should make it a little easier to follow the channel code. I've also moved unique_id out of ChannelDetails into Channel _and_ Reactor: it is small, immutable, and used all the time in logging.
| * | Make Channel non-Clone.Nick Mathewson2024-05-163-4/+6
| | |
| * | proto: Make Channel explicitly Arc<.>Nick Mathewson2024-05-1614-53/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, Channel was a type that you could Clone that implicitly its state. Now, Channel always appears as an Arc<Channel>. This change has several benefits: * It makes the relationship between Channel struct and the underlying channel more clear. * It enables Channel to participate in the RPC system, where everything has to be an Arc<.> * It enables us to have a Weak<Channel>, if we ever want to. * It will let us move various members out of ChannelDetails. We did this change a while ago with ClientCirc.
| * | proto: Move Channel send functionality into a separate type.Nick Mathewson2024-05-163-48/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This serves three purposes: * It removes the 'send a cell' method from the channel's public API. Nothing outside of tor-proto should have to use this. * It paves the way for giving each circuit a separate handle onto the channel's send functionality. This will eventually let the channel multiplex among circuits more intelligently. * It prepares for the next commit, which will make Channel itself universally Arc<.>ed.
| * | proto: Document ChannelDetails members that don't need to be shared.Nick Mathewson2024-05-161-1/+7
| | |
| * | proto: Document usage for each mutable part of ChannelDetailsNick Mathewson2024-05-161-1/+12
| | | | | | | | | | | | | | | For all mutable shared state, we ought to know which part of the program sets it, which part of the program reads it, and why.
* | | Merge branch 'explicit_delegate_enable_padding' into 'main'Nick Mathewson2024-05-171-1/+1
|\ \ \ | | | | | | | | | | | | | | | | chanmgr: Delegate to Channel::engage_padding_activities explicitly. See merge request tpo/core/arti!2164
| * | | chanmgr: Delegate to Channel::engage_padding_activities explicitly.Nick Mathewson2024-05-171-1/+1
|/ / / | | | | | | | | | | | | | | | (This isn't a bugfix, but it helps avoid the appearance of a function calling itself. This _would_ become a bug if we imported the wrong trait into scope here.)
* | | Merge branch 'libc-downgrade' into 'main'Nick Mathewson2024-05-171-2/+2
|\ \ \ | | | | | | | | | | | | | | | | Downgrade Cargo.lock to previous libc crate version See merge request tpo/core/arti!2166
| * | | Downgrade to previous libc crateNick Mathewson2024-05-171-2/+2
|/ / / | | | | | | | | | The current version has been yanked.
* | | Merge branch 'changelog-fix' into 'main'Nick Mathewson2024-05-161-0/+2
|\ \ \ | |/ / |/| | | | | | | | Add two blank lines to CHANGELOG. See merge request tpo/core/arti!2165
| * | Add two blank lines to CHANGELOG.Nick Mathewson2024-05-161-0/+2
|/ /
* | Merge branch 'ci-after-script-tweaks' into 'main'Nick Mathewson2024-05-161-19/+6
|\ \ | | | | | | | | | | | | CI: Move cargo clean section to after_script. See merge request tpo/core/arti!2159
| * | CI: Move cargo clean section to after_script.Nick Mathewson2024-05-151-19/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Part of arti#1410. The idea here is to consolidate `cargo clean` in an after_script section we call everywhere, rather than have it be in one that we can forget to copy. We can't call `cargo clean` unconditionally, though, since some of our jobs don't install cargo. So we make sure it's there.
* | | Merge branch 'special_methods' into 'main'Nick Mathewson2024-05-169-37/+264
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Allow RPC methods with non-serializable types Closes #1403 See merge request tpo/core/arti!2152
| * | | Add a few "TODO RPC" notesNick Mathewson2024-05-162-0/+8
| | | |
| * | | RPC: Expose dispatch table from ContextNick Mathewson2024-05-163-0/+11
| | | | | | | | | | | | | | | | | | | | We need to do this so that we can actually invoke RPC functions from one another.
| * | | RPC: Fill in documentation about invoke_specialNick Mathewson2024-05-162-6/+27
| | | |
| * | | Tests for invoke_specialNick Mathewson2024-05-161-0/+42
| | | |
| * | | RPC: Fix types for DispatchTable::invoke_specialNick Mathewson2024-05-161-11/+14
| | | | | | | | | | | | | | | | | | | | Now that Method::Error exists, we can downcast Any to the actual function's return type.
| * | | RPC: Require an Error type in methods.Nick Mathewson2024-05-167-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed so that we can cast special methods' return types properly. I wish I could make this optional, but Rust doesn't allow defaulting an associated type.
| * | | Rpc: Allow invoker_ents to be marked as @specialNick Mathewson2024-05-161-7/+21
| | | | | | | | | | | | | | | | A @special invoker does not get an RPC entry.
| * | | Relax Serialize requirement on method outputs.Nick Mathewson2024-05-162-11/+13
| | | | | | | | | | | | | | | | | | | | Now Methods can return anything; and only if their outputs are Serialize will they implement RpcInvocable.
| * | | Split Invocable into RpcInvocable.Nick Mathewson2024-05-161-50/+77
| | | | | | | | | | | | | | | | | | | | RpcInvocable will only be implemented on types whose output can be serialized.
| * | | RPC: Add an "invoke special" mechanismNick Mathewson2024-05-161-1/+62
| | | | | | | | | | | | | | | | This is part of work on #1403.
| * | | rpc: Move typetag onto subtrait of DynMethodNick Mathewson2024-05-164-23/+43
| | | | | | | | | | | | | | | | | | | | | | | | This will allow us to create dispatchable methods that are only invoked from inside the arti code, and are not themselves serializable.
* | | | Merge branch 'links' into 'main'Nick Mathewson2024-05-165-175/+664
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide and run script for making/checking link blocks in CHANGELOG.md Closes #1388 See merge request tpo/core/arti!2126
| * | | | update-md-links: Actually bomb out if subprocess failsIan Jackson2024-05-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2126#note_3030954
| * | | | update-md-links: Use enumerate()Ian Jackson2024-05-071-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Suggested here https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2126#note_3026423
| * | | | update-md-links: (Always) print something confirmatory to stdoutIan Jackson2024-05-071-1/+6
| | | | |
| * | | | CI: Run mypy on the (so far, 1) type-annotated Python3 fileIan Jackson2024-05-071-0/+7
| | | | |
| * | | | update-md-links: Host code into functions and add typesIan Jackson2024-05-071-167/+214
| | | | |
| * | | | update-md-links: Add many comments / helpstringsIan Jackson2024-05-071-2/+49
| | | | |
| * | | | update-md-links: Minor code motion for tidying upIan Jackson2024-05-071-2/+3
| | | | |
| * | | | update-md-links: Avoid literally stating the blocking todoIan Jackson2024-05-071-2/+2
| | | | |
| * | | | update-md-links: With --check, remove the .tmp file if all is OKIan Jackson2024-05-071-0/+1
| | | | |
| * | | | update-md-links: Replace use of assert with bespoke functionIan Jackson2024-05-071-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2126#note_3026420
| * | | | Revert "CHANGELOG: Escape a non-link"Ian Jackson2024-05-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4e89a891206ec8e732bb33ae59844d6afe393333. As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2126#note_3026424
| * | | | Run maint/update-md-links in CIIan Jackson2024-05-021-0/+8
| | | | |
| * | | | maint/update-md-links: Add --check modeIan Jackson2024-05-021-1/+10
| | | | |
| * | | | CHANGELOG: Run update-md-links to fix link definitionsIan Jackson2024-05-021-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This add link definitions that are missing, and deletes ones that are unused. This is precisely the results of maint/update-md-links CHANGELOG.md I have given it a cursory human review.
| * | | | CAHNGELOG: Fix two misspelled link definitionsIan Jackson2024-05-021-2/+2
| | | | |
| * | | | CHANGELOG: Sort every link blockIan Jackson2024-05-021-91/+91
| | | | |
| * | | | CHANGELOG: Normalise number of blank lines around link blocksIan Jackson2024-05-021-47/+12
| | | | | | | | | | | | | | | | | | | | This varied wildly.
| * | | | CHANGELOG: Use tpo.pages .rs for a few internal ratesIan Jackson2024-05-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We had conflicting definitions of these links. I have not gone through and changed *all* the crate links, just the ones that had multiple conflicting definitions.