aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-hsservice/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * | tor-hsservice: Remove extraneous whitespace.Gabriela Moldovan2023-09-131-1/+1
| | |
| * | tor-hsservice: Use warn_report! instead of error!.Gabriela Moldovan2023-09-131-4/+6
| | |
| * | tor-hsservice: Add more details to the backoff runner docs.Nick Mathewson2023-09-131-0/+4
| | |
| * | tor-hsservice: Implement upload_descriptor_with_retries.Gabriela Moldovan2023-09-131-7/+43
| | |
| * | tor-hsservice: Share the immutable reactor state with ↵Gabriela Moldovan2023-09-131-1/+8
| | | | | | | | | | | | upload_descriptor_with_retries.
| * | tor-hsservice: Put the shared reactor state in a new struct.Gabriela Moldovan2023-09-131-29/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | This state will be shared with the task spawned by `Reactor::upload_descriptor_with_retries()`. We need this refactoring because `upload_with_descriptor_with_retries` is not a `&self` method but requires several fields from `Reactor` (currently just `runtime`, `mockable`, `hsid`).
| * | tor-hsservice: Implement a BackoffSchedule for the descriptor publisher.Gabriela Moldovan2023-09-131-0/+35
| | |
| * | tor-hsservice: Split UploadError out of ReactorError.Gabriela Moldovan2023-09-131-9/+36
| | |
| * | tor-hsservice: Remove stray must_use.Gabriela Moldovan2023-09-131-1/+0
| | |
| * | tor-hsservice: Remove unused type parameter.Gabriela Moldovan2023-09-131-4/+4
| | |
| * | tor-hsservice: Introduce helpers for implementing a backoff schedule.Gabriela Moldovan2023-09-132-0/+424
| | |
| * | tor-hsservice: Log an error! if the descriptor upload fails (fmt).Gabriela Moldovan2023-09-131-2/+1
| | |
| * | tor-hsservice: Log an error! if the descriptor upload fails.Gabriela Moldovan2023-09-131-6/+24
| | |
| * | tor-hsservice: Make Reactor::upload_descriptor take a netdir reference.Gabriela Moldovan2023-09-131-2/+2
| | |
* | | Merge branch 'desc-publisher-uploads' into 'main'Ian Jackson2023-09-142-100/+329
|\| | | |/ |/| | | | | tor-hsservice: Don't block the reactor on the descriptor uploads. See merge request tpo/core/arti!1580
| * tor-hsservice: Add some TODOs for the publisher.Gabriela Moldovan2023-09-121-0/+17
| |
| * tor-hsservice: Set the size for the upload_task_complete channel to 0.Gabriela Moldovan2023-09-121-3/+5
| |
| * tor-hsservice: Use mpsc channels instead of async-broadcast (fmt).Gabriela Moldovan2023-09-121-15/+19
| |
| * tor-hsservice: Use mpsc channels instead of async-broadcast.Gabriela Moldovan2023-09-121-29/+39
| |
| * tor-hsservice: Make schedule_pending_upload take &mut self.Gabriela Moldovan2023-09-121-16/+18
| | | | | | | | | | | | We're going to need this when we switch from async-broadcast channels to mpsc channels, because the sending/receiving from the channel will require mutably borrowing the senders/receivers.
| * tor-hsservice: Require Mockable to impl Clone.Gabriela Moldovan2023-09-121-1/+2
| |
| * tor-hsservice: Reformat handle_upload_results docs.Gabriela Moldovan2023-09-121-1/+2
| |
| * tor-hsservice: Replace SystemTime::now() with runtime.now().Gabriela Moldovan2023-09-121-7/+5
| |
| * tor-hsservice: Remove the TODOs that have been addressed.Gabriela Moldovan2023-09-071-16/+0
| |
| * tor-hsservice: Tell the reactor about the status of the descriptor upload task.Gabriela Moldovan2023-09-071-1/+13
| |
| * tor-hsservice: Don't block the reactor on the descriptor uploads (fmt).Gabriela Moldovan2023-09-071-24/+38
| |
| * tor-hsservice: Don't block the reactor on the descriptor uploads.Gabriela Moldovan2023-09-072-53/+92
| | | | | | | | | | Instead of blocking the main loop until all pending uploads complete, the reactor now spawns an upload task for each relevant time period.
| * tor-hsservice: Handle upload completion events.Gabriela Moldovan2023-09-071-0/+14
| |
| * tor-hsservice: Add handler for descriptor upload results.Gabriela Moldovan2023-09-071-0/+44
| |
| * tor-hsservice: Add some types for representing upload results.Gabriela Moldovan2023-09-071-0/+39
| |
| * tor-hsservice: Run descriptor uploads in parallel instead of sequentially (fmt).Gabriela Moldovan2023-09-071-17/+22
| |
| * tor-hsservice: Run descriptor uploads in parallel instead of sequentially.Gabriela Moldovan2023-09-071-5/+26
| | | | | | | | | | | | | | | | | | | | For each time period, the publisher now parallelizes the descriptor uploads. Note that the upload batches for each time period still execute sequentially (rather than in parallel), and that the reactor loop is still blocked until the uploads complete. These limitations will be addressed in a future commit.
| * tor-hsservice: Increment the revision counter when generating a new descriptor.Gabriela Moldovan2023-09-071-2/+26
| |
| * tor-hsservice: Move the revision counter out of Descriptor.Gabriela Moldovan2023-09-072-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | The `Descriptor` struct is meant to contain TP-agnostic data, (such as the intro points or client authorization info), and the revision counter is going to be different for each TP as per rend-spec-v3: Implementations MAY generate revision counters in any way they please, so long as they are monotonically increasing over the lifetime of each blinded public key. (the blinded public key changes with the time period)
| * tor-hsservice: Remove unused publisher reactor function.Gabriela Moldovan2023-09-071-5/+0
| |
| * tor-hsservice: Remove unnecessary allow annotations.Gabriela Moldovan2023-09-071-2/+0
| |
| * tor-hsservice: Use existing postage::watch import.Gabriela Moldovan2023-09-071-1/+1
| |
* | tor-hsservice: ipt mgr: merge_join_subset_by: testIan Jackson2023-09-121-0/+27
| |
* | tor-hsservice: ipt mgr: Add an empty test moduleIan Jackson2023-09-121-0/+18
| |
* | tor-hsservice: ipt mgr: Commentary about performanceIan Jackson2023-09-121-0/+59
| |
* | tor-hsservice: ipt mgr: merge_join_subset_by: rustfmtIan Jackson2023-09-121-2/+2
| |
* | tor-hsservice: ipt mgr: merge_join_subset_by: fix clippy lintsIan Jackson2023-09-121-11/+5
| |
* | tor-hsservice: ipt mgr: merge_join_subset_by: drop Debug boundsIan Jackson2023-09-121-3/+3
| | | | | | | | Now it's not fallible, we don't need to construct error messages.
* | tor-hsservice: ipt mgr: merge_join_subset_by: return an iteratorIan Jackson2023-09-121-12/+7
| |
* | tor-hsservice: ipt mgr: merge_join_subset_by: Introduce 'outIan Jackson2023-09-121-8/+8
| | | | | | | | No functional change.
* | tor-hsservice: ipt mgr: merge_join_subset_by: Replace algorithmIan Jackson2023-09-121-77/+20
| | | | | | | | | | Use HashMap-based algorithm, as per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1583#note_2941645
* | tor-hsservice: ipt mgr: merge_join_subset_by: document working setIan Jackson2023-09-121-1/+2
| |
* | tor-hsservice: ipt mgr: merge_join_subset_by: check more for dupesIan Jackson2023-09-121-0/+4
| |
* | tor-hsservice: ipt mgr: Break out merge_join_subset_byIan Jackson2023-09-121-19/+109
| | | | | | | | | | Propted by this conversation https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1578#note_2940675
* | tor-hsservice: ipt mgr: Handle ipt relay selection failure (fmt)Ian Jackson2023-09-111-1/+1
| |