/// `UPLOAD_RATE_LIM_THRESHOLD` seconds ago. If so, it uploads the descriptor to all HsDirs that
/// need it. If not, it schedules the upload to happen `UPLOAD_RATE_LIM_THRESHOLD` seconds from the
// number of concurrent upload tasks is multiplied by a number which depends on the TP parameters
.ok_or_else(|| internal!("identity keys are offline, but descriptor signing key is unavailable?!"))?
/// [encrypted time in period]: https://spec.torproject.org/rend-spec/revision-counter-mgt.html#encrypted-time
/// An error that has occurred after we have contacted a directory cache and made a circuit to it.
fn replace_config_if_changed(&self, new_config: Arc<OnionServiceConfigPublisherView>) -> bool {
"Running in restricted discovery mode, but we have no authorized clients. Service will be unreachable"
// Note: a broken restricted discovery config won't prevent future uploads from being scheduled
// which can can cause the publisher's status to oscillate between `Bootstrapping` and `Broken`.
trace!(time_period=?time_period, "uploading descriptor to all HSDirs for this time period");