RawWaker — 사용자 정의 깨우기 동작의 원시 웨이커
RawWaker — 사용자 정의 깨우기 동작의 원시 웨이커
RawWaker는 작업 실행기(task executor) 구현자가 사용자 정의 깨우기 동작을 제공하는 Waker 또는 LocalWaker를 만들 수 있게 해주는 구조체예요.
출처: Rust 공식 문서
본문
pub struct RawWaker { /* private fields */ }
이것은 깨우기 동작을 사용자 정의하는 데이터 포인터와 **가상 함수 포인터 테이블(vtable)**로 구성돼요.
주요 메서드
// RawWaker와 RawWakerVTable로부터 새 RawWaker를 만들어요.
pub const fn new(data: *const (), vtable: &'static RawWakerVTable) -> RawWaker
// 이 RawWaker의 데이터 포인터를 반환해요.
pub const fn data(&self) -> *const ()
RawWaker는 직접 사용하기보다는 Waker::from_raw나 LocalWaker::from_raw로 래핑해 사용해요.