pub struct Reservation(/* private fields */);Expand description
The peripheral one of the board’s own multi-transaction procedures currently holds, if any.
The bus mutex serializes transactions, not procedures: a gauge unseal,
read, and reseal are three transactions, and a host transfer to the
gauge between them would land inside the procedure. A procedure
publishes its peripheral’s address here for its duration through
hold, and the guarded functions answer STATUS_BUSY
to anything addressed to it, or to a scan whose range covers it. Give each
independently running procedure its own reservation and pass their array
to guarded access. A single reservation must never have overlapping holds.
Implementations§
Trait Implementations§
Source§impl Default for Reservation
impl Default for Reservation
Auto Trait Implementations§
impl !Freeze for Reservation
impl RefUnwindSafe for Reservation
impl Send for Reservation
impl Sync for Reservation
impl Unpin for Reservation
impl UnwindSafe for Reservation
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more