Struct object_tracker::version_manager::VersionManager
source · pub(crate) struct VersionManager {
object_version_map: DashMap<ObjectId, Arc<(TSCircularArray<Arc<MaterializedObjectVersion>, 5>, AtomicU8)>>,
}Fields§
§object_version_map: DashMap<ObjectId, Arc<(TSCircularArray<Arc<MaterializedObjectVersion>, 5>, AtomicU8)>>Implementations§
source§impl VersionManager
impl VersionManager
pub fn new(initial_object_capacity: usize) -> Self
pub fn insert_initial_version( &self, object_id: ObjectId, initial_version: MaterializedObjectVersion )
pub fn get_latest( &self, object_id: ObjectId ) -> Option<Arc<MaterializedObjectVersion>>
pub fn get_at( &self, object_id: ObjectId, target_version: ObjectVersion ) -> Option<Arc<MaterializedObjectVersion>>
pub fn push_version( &self, object_id: ObjectId, object_version: ObjectVersion, changes: &Vec<(IPtr, &ImageValue)> )
pub fn delete_object(&self, object_to_delete: ObjectId)
Auto Trait Implementations§
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