pub struct VersionManager { /* private fields */ }
Expand description
Version manager for coordinating all versioning operations
Implementations§
Source§impl VersionManager
impl VersionManager
Sourcepub fn register_version(
&mut self,
api_version: ApiVersion,
) -> Result<(), CoreError>
pub fn register_version( &mut self, api_version: ApiVersion, ) -> Result<(), CoreError>
Sourcepub fn current_version(&self) -> Option<&Version>
pub fn current_version(&self) -> Option<&Version>
Get the current active version
Sourcepub fn get_versions(&self) -> Vec<&ApiVersion>
pub fn get_versions(&self) -> Vec<&ApiVersion>
Get all registered versions
Sourcepub fn get_supported_versions(&self) -> Vec<&ApiVersion>
pub fn get_supported_versions(&self) -> Vec<&ApiVersion>
Get supported versions (active and maintenance)
Sourcepub fn get_version(&self, version: &Version) -> Option<&ApiVersion>
pub fn get_version(&self, version: &Version) -> Option<&ApiVersion>
Get version by version number
Sourcepub fn check_compatibility(
&self,
from_version: &Version,
to_version: &Version,
) -> Result<CompatibilityLevel, CoreError>
pub fn check_compatibility( &self, from_version: &Version, to_version: &Version, ) -> Result<CompatibilityLevel, CoreError>
Sourcepub fn get_compatibility_report(
&self,
from_version: &Version,
to_version: &Version,
) -> Result<CompatibilityReport, CoreError>
pub fn get_compatibility_report( &self, from_version: &Version, to_version: &Version, ) -> Result<CompatibilityReport, CoreError>
Get detailed compatibility report
§Errors
Returns an error if compatibility report generation fails.
Sourcepub fn negotiate_version(
&self,
client_capabilities: &ClientCapabilities,
) -> Result<NegotiationResult, CoreError>
pub fn negotiate_version( &self, client_capabilities: &ClientCapabilities, ) -> Result<NegotiationResult, CoreError>
Sourcepub fn get_migration_plan(
&self,
from_version: &Version,
to_version: &Version,
) -> Result<MigrationPlan, CoreError>
pub fn get_migration_plan( &self, from_version: &Version, to_version: &Version, ) -> Result<MigrationPlan, CoreError>
Sourcepub fn is_deprecated(&self, version: &Version) -> bool
pub fn is_deprecated(&self, version: &Version) -> bool
Check if a version is deprecated
Sourcepub fn get_deprecation_info(
&self,
version: &Version,
) -> Option<DeprecationStatus>
pub fn get_deprecation_info( &self, version: &Version, ) -> Option<DeprecationStatus>
Get deprecation information for a version
Sourcepub fn update_deprecation_status(
&mut self,
version: &Version,
status: DeprecationStatus,
) -> Result<(), CoreError>
pub fn update_deprecation_status( &mut self, version: &Version, status: DeprecationStatus, ) -> Result<(), CoreError>
Sourcepub fn get_latest_in_major(&self, major: u64) -> Option<&ApiVersion>
pub fn get_latest_in_major(&self, major: u64) -> Option<&ApiVersion>
Get the latest version in a major version line
Sourcepub fn get_latest_stable(&self) -> Option<&ApiVersion>
pub fn get_latest_stable(&self) -> Option<&ApiVersion>
Get the latest stable version
Sourcepub fn has_upgrade_path(
&self,
from_version: &Version,
to_version: &Version,
) -> bool
pub fn has_upgrade_path( &self, from_version: &Version, to_version: &Version, ) -> bool
Check if an upgrade path exists
Sourcepub fn validate_constraint(
&self,
constraint: &VersionConstraint,
) -> Result<Vec<&Version>, CoreError>
pub fn validate_constraint( &self, constraint: &VersionConstraint, ) -> Result<Vec<&Version>, CoreError>
Sourcepub fn get_version_statistics(&self) -> VersionStatistics
pub fn get_version_statistics(&self) -> VersionStatistics
Get version statistics
Sourcepub fn perform_maintenance(&mut self) -> Result<MaintenanceReport, CoreError>
pub fn perform_maintenance(&mut self) -> Result<MaintenanceReport, CoreError>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for VersionManager
impl RefUnwindSafe for VersionManager
impl Send for VersionManager
impl Sync for VersionManager
impl Unpin for VersionManager
impl UnwindSafe for VersionManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more