Cargo Features

[dependencies]
open-coroutine-core = { version = "0.5.0", default-features = false, features = ["logs", "korosensei", "preemptive-schedule", "net", "io_uring", "syscall", "full"] }
default = full

The full feature is set by default whenever open-coroutine-core is added without default-features = false somewhere in the dependency tree.

logs full = log, simplelog

Print some help log.
Enable for default.

Affects log::LOG

korosensei net? preemptive-schedule? = corosensei

Enables pthread of nix ^0.27.1

preemptive-schedule full = korosensei

Provide preemptive scheduling implementation.
Enable for default.

net io_uring? syscall? = crossbeam-utils, korosensei, num_cpus, polling

Provide net API abstraction and implementation.

Affects open-coroutine-core::net

io_uring full = net, open-coroutine-iouring

Provide io_uring abstraction and implementation.
This feature only works in linux.

Affects syscall::io_uring

syscall full = net

Provide syscall implementation.

Affects open-coroutine-core::syscall

full default = io_uring, logs, preemptive-schedule, syscall

Enable all features

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

log logs?
simplelog logs?
corosensei korosensei?

Enables corosensei

coroutine

crossbeam-utils net?

Enables crossbeam-utils

net

num_cpus net?
polling net?

Enables polling ^2.8.0

open-coroutine-iouring io_uring?