pub struct Permit<'a, T> { /* private fields */ }展开描述
用于向 channel 发送一个值的 permit。
Permit
值
由
Sender::reserve()
和
Sender::try_reserve()
返回,
用于
在生成要发送的消息之前
保证通道容量。
实现§
Source§impl<T> Permit<'_, T>
impl<T> Permit<'_, T>
Sourcepub fn send(self, value: T)
pub fn send(self, value: T)
使用预留的容量发送一个值。
消息的容量已被预留。消息被发送到接收者并且 permit 被消费。即使接收半部已关闭,操作也会成功。有关执行干净关闭的更多详细信息,请参阅 Receiver::close。
§示例
use tokio::sync::mpsc;
let (tx, mut rx) = mpsc::channel(1);
// Reserve capacity
let permit = tx.reserve().await.unwrap();
// Trying to send directly on the `tx` will fail due to no
// available capacity.
assert!(tx.try_send(123).is_err());
// Send a message on the permit
permit.send(456);
// The value sent on the permit is received
assert_eq!(rx.recv().await.unwrap(), 456);Trait 实现§
自动 Trait 实现§
impl<'a, T> Freeze for Permit<'a, T>
impl<'a, T> RefUnwindSafe for Permit<'a, T>
impl<'a, T> Send for Permit<'a, T>where
T: Send,
impl<'a, T> Sync for Permit<'a, T>where
T: Send,
impl<'a, T> Unpin for Permit<'a, T>
impl<'a, T> UnsafeUnpin for Permit<'a, T>
impl<'a, T> UnwindSafe for Permit<'a, T>
Blanket 实现§
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. 更多信息