pub struct RawWaker { /* private fields */ }Expand description
RawWaker 允许任务执行器的实现者创建 Waker,该 Waker 提供自定义的唤醒行为。
它由一个数据指针和一个自定义 RawWaker 行为的 虚函数指针表 (vtable) 组成。
Implementations§
source§impl RawWaker
impl RawWaker
const: 1.36.0 · sourcepub const fn new(data: *const (), vtable: &'static RawWakerVTable) -> RawWaker
pub const fn new(data: *const (), vtable: &'static RawWakerVTable) -> RawWaker
根据提供的 data 指针和 vtable 创建新的 RawWaker。
data 指针可用于存储执行程序所需的任意数据。这可能是,例如
指向与任务关联的 Arc 的类型擦除的指针。
该指针的值将作为第一个参数传递给 vtable 一部分的所有函数。
vtable 自定义从 RawWaker 创建的 Waker 的行为。
对于 Waker 上的每个操作,将调用底层 RawWaker 的 vtable 中的关联函数。
sourcepub fn data(&self) -> *const ()
🔬This is a nightly-only experimental API. (waker_getters #87021)
pub fn data(&self) -> *const ()
waker_getters #87021)获取用于创建此 RawWaker 的 data 指针。
sourcepub fn vtable(&self) -> &'static RawWakerVTable
🔬This is a nightly-only experimental API. (waker_getters #87021)
pub fn vtable(&self) -> &'static RawWakerVTable
waker_getters #87021)获取用于创建此 RawWaker 的 vtable 指针。