RawWakerVTable — RawWaker 동작을 지정하는 가상 테이블

RawWakerVTable — RawWaker 동작을 지정하는 가상 테이블

RawWakerVTableRawWaker의 동작을 지정하는 가상 함수 포인터 테이블(vtable)이에요.

출처: Rust 공식 문서

본문

pub struct RawWakerVTable { /* private fields */ }

vtable 안의 모든 함수에 전달되는 포인터는 바깥 RawWaker 객체의 데이터 포인터예요. vtable 안의 함수들은 다음과 같아요.

// clone 함수 — RawWaker의 복사본을 만들어요.
clone: unsafe fn(*const ()) -> RawWaker,

// wake 함수 — 이 RawWaker가 가리키는 작업을 깨워요.
wake: unsafe fn(*const ()),

// wake_by_ref 함수 — 값을 소비하지 않고 작업을 깨워요.
wake_by_ref: unsafe fn(*const ()),

// drop 함수 — RawWaker와 관련 자원을 해제해요.
drop: unsafe fn(*const ()),

생성 메서드

pub const fn new(
    clone: unsafe fn(*const ()) -> RawWaker,
    wake: unsafe fn(*const ()),
    wake_by_ref: unsafe fn(*const ()),
    drop: unsafe fn(*const ()),
) -> RawWakerVTable

더 알아보기 (Learn more)