pub struct VersionManager { /* private fields */ }Expand description
Version manager for a module.
Implementations§
Source§impl VersionManager
impl VersionManager
Sourcepub fn register_version(&self, version: ModuleVersion, path: String)
pub fn register_version(&self, version: ModuleVersion, path: String)
Registers a new version.
Sourcepub fn activate_version(&self, version: &ModuleVersion) -> bool
pub fn activate_version(&self, version: &ModuleVersion) -> bool
Activates a version.
Sourcepub fn select_version(&self) -> Option<ModuleVersion>
pub fn select_version(&self) -> Option<ModuleVersion>
Selects a version for a request (for gradual migration).
Sourcepub fn record_request(&self)
pub fn record_request(&self)
Records a request to the new version.
Sourcepub fn record_error(&self)
pub fn record_error(&self)
Records an error from the new version.
Sourcepub fn should_rollback(&self) -> bool
pub fn should_rollback(&self) -> bool
Checks if migration should continue or rollback.
Sourcepub fn all_versions(&self) -> Vec<VersionedModule>
pub fn all_versions(&self) -> Vec<VersionedModule>
Returns all loaded versions.
Sourcepub fn active_version(&self) -> Option<ModuleVersion>
pub fn active_version(&self) -> Option<ModuleVersion>
Returns the active version.
Sourcepub fn set_routing(&self, routing: TrafficRouting)
pub fn set_routing(&self, routing: TrafficRouting)
Sets traffic routing configuration.
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 UnsafeUnpin 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