Cargo Features

pen-ffi has no features set by default.

[dependencies]
pen-ffi = { version = "0.10.23", features = ["runtime", "std"] }
runtime = std, tokio, tokio-macros, tokio-stream, tokio-util

This feature enables client libraries to use the exactly same rutnime of Tokio in resulting binaries.
Otherwise, we might instantiate two different versions of Tokio runtimes there.
For example, we might have multiple global variables of async contexts named with different symbols in TLS, which fails asynchronous function calls due to uninitialized contexts.

Affects pen-ffi::runtime

std runtime?

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.

tokio runtime?
tokio-macros runtime?
tokio-stream runtime?
tokio-util runtime?