struct RangeBlockedList {
blocked: Vec<Arc<RangeBlocked>>,
}
Expand description
A list of ranges blocked for some kind of concurrent access.
Depending on the use, some will block all concurrent access (i.e. serializing writes will block both serializing and non-serializing writes (strong blockers)), while others will only block a subset (non-serializing writes will only block serializing writes (weak blockers)).
Fields§
§blocked: Vec<Arc<RangeBlocked>>
The list of ranges.
Serializing writes (strong write blockers) are supposed to be rare, so it is important that entering and removing items into/from this list is cheap, not that iterating it is.
Implementations§
Source§impl RangeBlockedList
impl RangeBlockedList
Sourcefn collect_intersecting_await_futures(
&self,
check_range: &Range<u64>,
future_vector: &mut FutureVector<(), RecvError, Receiver<()>>,
)
fn collect_intersecting_await_futures( &self, check_range: &Range<u64>, future_vector: &mut FutureVector<(), RecvError, Receiver<()>>, )
Collects futures to await intersecting request.
Adds a future to future_vector
for every intersecting request; awaiting that future will
await the request.
Trait Implementations§
Source§impl Debug for RangeBlockedList
impl Debug for RangeBlockedList
Source§impl Default for RangeBlockedList
impl Default for RangeBlockedList
Source§fn default() -> RangeBlockedList
fn default() -> RangeBlockedList
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for RangeBlockedList
impl RefUnwindSafe for RangeBlockedList
impl Send for RangeBlockedList
impl Sync for RangeBlockedList
impl Unpin for RangeBlockedList
impl UnwindSafe for RangeBlockedList
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