Context — 비동기 작업의 문맥

Context — 비동기 작업의 문맥

Context는 비동기 작업(async task)의 문맥이에요. 현재는 주로 현재 작업을 깨우는 데 쓸 수 있는 &Waker에 대한 접근을 제공하는 역할을 해요.

출처: Rust 공식 문서

본문

pub struct Context<'a> { /* private fields */ }

주요 메서드

// &Waker로부터 새 Context를 만들어요.
pub const fn from_waker(waker: &'a Waker) -> Context<'a>

// 현재 작업의 Waker에 대한 참조를 반환해요.
pub const fn waker(&self) -> &'a Waker

또한 nightly 전용으로 다음 메서드들이 있어요.

// 현재 작업의 LocalWaker에 대한 참조를 반환해요.
pub const fn local_waker(&self) -> &'a LocalWaker  // nightly (local_waker, #118959)

// 현재 작업의 확장 데이터에 대한 참조를 반환해요.
pub const fn ext(&mut self) -> &mut (dyn Any + 'static)  // nightly (context_ext, #123392)

from_wakerwaker는 1.82.0부터 const 함수예요. ContextDebug 트레잇도 구현해요.

더 알아보기 (Learn more)