BlockingIoSource in miri::concurrency::blocking_io - Rust
Description: API documentation for the Rust `BlockingIoSource` struct in crate `miri`.

Skip to main content

## BlockingIoSource

# Struct BlockingIoSource

Source

    struct BlockingIoSource {
        fd: WeakFileDescriptionRef<dyn SourceFileDescription>,
        blocked_threads: BTreeMap<ThreadId, BlockingIoInterest>,
    }

## Fields§

§`fd: WeakFileDescriptionRef<dyn SourceFileDescription>`

The source file description which is registered into the poll. We only store weak references such that source file descriptions can be destroyed whilst they are registered. However, they are required to deregister themselves when `FileDescription::destroy` is called.

§`blocked_threads: BTreeMap<ThreadId, BlockingIoInterest>`

The threads which are blocked on the I/O source, and the interest indicating when they should be unblocked.

## Auto Trait Implementations§

§

### impl !RefUnwindSafe for BlockingIoSource

§

### impl !Send for BlockingIoSource

§

### impl !Sync for BlockingIoSource

§

### impl !UnwindSafe for BlockingIoSource

§

### impl Freeze for BlockingIoSource

§

### impl Unpin for BlockingIoSource

§

### impl UnsafeUnpin for BlockingIoSource

## Blanket Implementations§

Source§

### impl<T> Any for T
where T: 'static + ?Sized,

Source§

#### fn type_id(&self) -> TypeId

Gets the `TypeId` of `self`. Read more
Source§

### impl<T> Borrow<T> for T
where T: ?Sized,

Source§

#### fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

### impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

#### fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

### impl<T> From<T> for T

Source§

#### fn from(t: T) -> T

Returns the argument unchanged.

Source§

### impl<T, U> Into<U> for T
where U: From<T>,

Source§

#### fn into(self) -> U

Calls `U::from(self)`.

That is, this conversion is whatever the implementation of `From<T> for U` chooses to do.

Source§

### impl<T> Same for T

Source§

#### type Output = T

Should always be `Self`
Source§

### impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

#### type Error = Infallible

The type returned in the event of a conversion error.
Source§

#### fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

### impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

#### type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

#### fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.

## Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain `repr(...)` attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 40 bytes