pub trait OneshotStorage:
Send
+ Sync
+ Sized {
type Value: Send;
// Required methods
fn new() -> Self;
fn store(&self, value: Self::Value);
fn try_take(&self) -> TakeResult<Self::Value>;
fn is_sender_dropped(&self) -> bool;
fn mark_sender_dropped(&self);
fn is_receiver_closed(&self) -> bool;
fn mark_receiver_closed(&self);
}Expand description
Trait for oneshot value storage mechanisms
一次性值存储机制的 trait
Required Associated Types§
Required Methods§
Sourcefn try_take(&self) -> TakeResult<Self::Value>
fn try_take(&self) -> TakeResult<Self::Value>
Try to take the stored value (called by receiver)
Sourcefn is_sender_dropped(&self) -> bool
fn is_sender_dropped(&self) -> bool
Check if the sender was dropped without sending
Sourcefn mark_sender_dropped(&self)
fn mark_sender_dropped(&self)
Mark as sender dropped (called in Sender::drop)
Sourcefn is_receiver_closed(&self) -> bool
fn is_receiver_closed(&self) -> bool
Check if the receiver was closed
检查接收器是否已关闭
Sourcefn mark_receiver_closed(&self)
fn mark_receiver_closed(&self)
Mark as receiver closed (called in Receiver::close)
标记接收器已关闭
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.