wta-executor

Crates.iowta-executor
lib.rswta-executor
version0.1.0
sourcesrc
created_at2022-05-09 08:27:17.09637
updated_at2022-05-09 08:27:17.09637
descriptionExecutor for the what-the-async runtime
homepage
repositoryhttps://github.com/conradludgate/what-the-async
max_upload_size
id583085
size5,433
Conrad Ludgate (conradludgate)

documentation

README

Executor

This is a simple executor. There is a single Arc<Executor> type that can be shared between many worker threads.

Each worker will continuously run executor.poll_once() which will

  1. Pop a task from the shared task queue
    • Parking the thread if no tasks are available
  2. Poll that task

The task will be polled with a context that will reference that task (using a Mutex<Option<Task>>), and a copy of the executor.

Calling wake on this context will then call executor.wake(task). If there are threads sleeping, one will be woken up.

Commit count: 11

cargo fmt