[−][src]Struct futures_intrusive::channel::GenericOneshotChannel
A channel which can be used to exchange a single value between two concurrent tasks.
Tasks can wait for the value to get delivered via receive
.
The returned Future will get fulfilled when a value is sent into the channel.
The value can only be extracted by a single receiving task. Once the value
has been retrieved from the Channel, the Channel is closed and subsequent
receive calls will return None
.
Methods
impl<MutexType: RawMutex, T> GenericOneshotChannel<MutexType, T>
[src]
pub fn new() -> GenericOneshotChannel<MutexType, T>
[src]
Creates a new OneshotChannel in the given state
pub fn send(&self, value: T) -> Result<(), ChannelSendError<T>>
[src]
Writes a single value to the channel.
This will notify waiters about the availability of the value. If a value had been written to the channel before, or if the channel is closed, the new value will be rejected and returned inside the error variant.
pub fn close(&self) -> CloseStatus
[src]
Closes the channel.
This will notify waiters about closure, by fulfilling pending Future
s
with None
.
send(value)
attempts which follow this call will fail with a
ChannelSendError
.
pub fn receive(&self) -> ChannelReceiveFuture<MutexType, T>
[src]
Returns a future that gets fulfilled when a value is written to the channel or the channel is closed.
Trait Implementations
impl<MutexType: RawMutex, T> Debug for GenericOneshotChannel<MutexType, T>
[src]
impl<MutexType: RawMutex + Send, T: Send> Send for GenericOneshotChannel<MutexType, T>
[src]
impl<MutexType: RawMutex + Sync, T: Send> Sync for GenericOneshotChannel<MutexType, T>
[src]
Auto Trait Implementations
impl<MutexType, T> !RefUnwindSafe for GenericOneshotChannel<MutexType, T>
impl<MutexType, T> Unpin for GenericOneshotChannel<MutexType, T> where
MutexType: Unpin,
T: Unpin,
MutexType: Unpin,
T: Unpin,
impl<MutexType, T> UnwindSafe for GenericOneshotChannel<MutexType, T> where
MutexType: UnwindSafe,
T: UnwindSafe,
MutexType: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,