pub struct VersionManager { /* private fields */ }Expand description
Version manager for coordinating all versioning operations
Implementations§
Source§impl VersionManager
impl VersionManager
Sourcepub fn registerversion(
&mut self,
apiversion: ApiVersion,
) -> Result<(), CoreError>
pub fn registerversion( &mut self, apiversion: ApiVersion, ) -> Result<(), CoreError>
Sourcepub fn currentversion(&self) -> Option<&Version>
pub fn currentversion(&self) -> Option<&Version>
Get the current active version
Sourcepub fn getversions(&self) -> Vec<&ApiVersion>
pub fn getversions(&self) -> Vec<&ApiVersion>
Get all registered versions
Sourcepub fn get_supportedversions(&self) -> Vec<&ApiVersion>
pub fn get_supportedversions(&self) -> Vec<&ApiVersion>
Get supported versions (active and maintenance)
Sourcepub fn getversion(&self, version: &Version) -> Option<&ApiVersion>
pub fn getversion(&self, version: &Version) -> Option<&ApiVersion>
Get version by version number
Sourcepub fn check_compatibility(
&self,
fromversion: &Version,
toversion: &Version,
) -> Result<CompatibilityLevel, CoreError>
pub fn check_compatibility( &self, fromversion: &Version, toversion: &Version, ) -> Result<CompatibilityLevel, CoreError>
Sourcepub fn get_compatibility_report(
&self,
fromversion: &Version,
toversion: &Version,
) -> Result<CompatibilityReport, CoreError>
pub fn get_compatibility_report( &self, fromversion: &Version, toversion: &Version, ) -> Result<CompatibilityReport, CoreError>
Get detailed compatibility report
§Errors
Returns an error if compatibility report generation fails.
Sourcepub fn negotiateversion(
&self,
client_capabilities: &ClientCapabilities,
) -> Result<NegotiationResult, CoreError>
pub fn negotiateversion( &self, client_capabilities: &ClientCapabilities, ) -> Result<NegotiationResult, CoreError>
Sourcepub fn get_migration_plan(
&self,
fromversion: &Version,
toversion: &Version,
) -> Result<MigrationPlan, CoreError>
pub fn get_migration_plan( &self, fromversion: &Version, toversion: &Version, ) -> Result<MigrationPlan, CoreError>
Sourcepub fn isversion_deprecated(&self, version: &Version) -> bool
pub fn isversion_deprecated(&self, version: &Version) -> bool
Check if a version is deprecated
Sourcepub fn get_deprecation_status(
&self,
version: &Version,
) -> Option<DeprecationStatus>
pub fn get_deprecation_status( &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,
fromversion: &Version,
toversion: &Version,
) -> bool
pub fn has_upgrade_path( &self, fromversion: &Version, toversion: &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 getversion_statistics(&self) -> VersionStatistics
pub fn getversion_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> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moreSource§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.