pub struct ResourceManager { /* private fields */ }Expand description
Phase D: Resource Manager with ownership tracking
Implementations§
Source§impl ResourceManager
impl ResourceManager
pub fn new() -> Self
Sourcepub async fn begin_transaction(&self) -> Result<Transaction, ConcurError>
pub async fn begin_transaction(&self) -> Result<Transaction, ConcurError>
Create new transaction
Sourcepub async fn register_resource(
&self,
cid: Cid,
cap: Cap,
) -> Result<(), ConcurError>
pub async fn register_resource( &self, cid: Cid, cap: Cap, ) -> Result<(), ConcurError>
Register resource with capability
Sourcepub async fn acquire_exclusive(
&self,
cid: &Cid,
txn: &mut Transaction,
) -> Result<(), ConcurError>
pub async fn acquire_exclusive( &self, cid: &Cid, txn: &mut Transaction, ) -> Result<(), ConcurError>
Acquire exclusive ownership (mutable borrow)
Acquire shared ownership (immutable borrow)
Sourcepub async fn commit_transaction(
&self,
txn: Transaction,
) -> Result<(), ConcurError>
pub async fn commit_transaction( &self, txn: Transaction, ) -> Result<(), ConcurError>
Commit transaction with ownership transfer
Sourcepub async fn abort_transaction(
&self,
txn: Transaction,
) -> Result<(), ConcurError>
pub async fn abort_transaction( &self, txn: Transaction, ) -> Result<(), ConcurError>
Abort transaction and release resources
Auto Trait Implementations§
impl !RefUnwindSafe for ResourceManager
impl !UnwindSafe for ResourceManager
impl Freeze for ResourceManager
impl Send for ResourceManager
impl Sync for ResourceManager
impl Unpin for ResourceManager
impl UnsafeUnpin for ResourceManager
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