summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2025-03-03 15:12:15 +0100
committerDavid Lönnhager <david.l@mullvad.net>2025-03-05 23:32:44 +0100
commitec33f4aa7085e424032d8220254b8cec9eb585ec (patch)
tree5d0359cfee8425ab7222061e0fbc8625ee983628
parent234360d9a20919c625aad841321e39267cd5cc31 (diff)
downloadmullvadvpn-ec33f4aa7085e424032d8220254b8cec9eb585ec.tar.xz
mullvadvpn-ec33f4aa7085e424032d8220254b8cec9eb585ec.zip
Add new rollout constants
-rw-r--r--installer-downloader/src/controller.rs4
-rw-r--r--mullvad-update/src/version.rs18
2 files changed, 12 insertions, 10 deletions
diff --git a/installer-downloader/src/controller.rs b/installer-downloader/src/controller.rs
index eaaccb9943..8bdbacfd51 100644
--- a/installer-downloader/src/controller.rs
+++ b/installer-downloader/src/controller.rs
@@ -9,7 +9,7 @@ use crate::ui_downloader::{UiAppDownloader, UiAppDownloaderParameters, UiProgres
use mullvad_update::{
api::{HttpVersionInfoProvider, VersionInfoProvider},
app::{self, AppDownloader, HttpAppDownloader},
- version::{Version, VersionInfo, VersionParameters, ROLLOUT_ANY_VERSION},
+ version::{Version, VersionInfo, VersionParameters},
};
use rand::seq::SliceRandom;
use std::path::PathBuf;
@@ -150,7 +150,7 @@ async fn fetch_app_version_info<Delegate, VersionProvider>(
let version_params = VersionParameters {
architecture,
// For the downloader, the rollout version is always preferred
- rollout: ROLLOUT_ANY_VERSION,
+ rollout: mullvad_update::version::IGNORE,
// The downloader allows any version
lowest_metadata_version: 0,
};
diff --git a/mullvad-update/src/version.rs b/mullvad-update/src/version.rs
index 7c627d57c2..cc5a708397 100644
--- a/mullvad-update/src/version.rs
+++ b/mullvad-update/src/version.rs
@@ -11,25 +11,27 @@ use mullvad_version::PreStableType;
use crate::format;
-/// Rollout threshold in [VersionParameters] that will accept *any* version (rollout >= 0)
-pub const ROLLOUT_ANY_VERSION: f32 = 0.;
-
-/// Rollout threshold in [VersionParameters] that will accept only fully rolled out versions
-/// (rollout = 1)
-pub const ROLLOUT_FULLY_ROLLED_OUT_ONLY: f32 = 1.;
-
/// Query type for [VersionInfo]
#[derive(Debug)]
pub struct VersionParameters {
/// Architecture to retrieve data for
pub architecture: VersionArchitecture,
/// Rollout threshold. Any version in the response below this threshold will be ignored
- pub rollout: f32,
+ pub rollout: Rollout,
/// Lowest allowed `metadata_version` in the version data
/// Typically the current version plus 1
pub lowest_metadata_version: usize,
}
+/// Rollout threshold. Any version in the response below this threshold will be ignored
+pub type Rollout = f32;
+
+/// Accept *any* version (rollout >= 0) when querying for app info.
+pub const IGNORE: Rollout = 0.;
+
+/// Accept only fully rolled out versions (rollout >= 1) when querying for app info.
+pub const FULLY_ROLLED_OUT: Rollout = 1.;
+
/// Installer architecture
pub type VersionArchitecture = format::Architecture;