package: # When releasing to crates.io: # # - last check for all TODO, FIXME, expect, unwrap, todo!, unreachable!. # - recheck log statements (informative, none left that were just for development, ...) # - `cargo +nightly doc --no-deps --all-features --open` and re-read and final polish of documentation. # # - Update CHANGELOG.md. # - Update version numbers in Cargo.yml, Cargo.toml, install section of readme. # # - `touch **.rs && cargo clippy --tests --examples --benches --all-features` # - `cargo update` # - `cargo outdated --root-deps-only` # - `cargo audit` # - `cargo udeps --all-targets --all-features` # - `cargo crev crate verify --show-all --recursive` and review. # - 'cargo test --all-targets --all-features' # # - push dev and verify CI result # - check code coverage # - `cargo test` on dependent crates # # - cargo publish # - `git checkout master && git merge dev --no-ff` # - `git tag x.x.x` with version number. # - `git push && git push --tags` # version : 0.7.0 name : async_executors authors : [ Naja Melan ] description : Implements Spawn, SpawnLocal and SpawnHandle for commonly used executors. documentation : https://docs.rs/async_executors repository : https://github.com/najamelan/async_executors readme : README.md keywords : [ async, executor, futures ] categories : [ asynchronous, concurrency ] license : Unlicense edition : '2021' exclude : [ examples, tests, TODO.md, deny.toml, .travis.yml, CONTRIBUTING.md ] metadata: docs: rs: all-features: true targets : [] # Please see the readme for details. # features: # The `notwasm` feature only exists so that cargo test doesn't try to compile the examples when testing # wasm. Ignore. # default : [ notwasm ] # Turn on futures-timer. This will provide timer functionality for executors # that don't have it built in: AsyncGlobal, Bindgen, LocalPool, ThreadPool. # Will also implement Timer on tokio executors if the tokio_timer feature is not enabled. # timer : [ futures-timer ] # Enable integration with tracing-futures. This implements the SpawnHandle, # Io and Timer traits on wrapped executors Instrumented and WithDispatch. # tracing: [ tracing-futures ] ### Executors ### # Add support for the executor from async-global-executor. # async_global: [ async-global-executor ] # Make sure async-io is enabled on async-global-executor. # This will implement TokioIo on AsyncGlobal. Not available on Wasm. # async_global_tokio: [ async_global, async-global-executor/tokio ] # Enables the async-std task executor. # Also implements the AsyncIo and Timer traits. Currently async-io is always loaded when # async-std is. See: https://github.com/async-rs/async-std/issues/975 # async_std : [ async_std_crate ] # Makes sure the tokio reactor is running. Implements TokioIo for AsyncStd. # Not available on Wasm. # async_std_tokio : [ async_std, async_std_crate/tokio1 ] # Enables the tokio current_thread executor. Not available on Wasm. # tokio_ct : [ tokio/rt ] # Enables the tokio thread_pool executor. Not available on Wasm. # tokio_tp : [ tokio/rt-multi-thread ] # Make sure a tokio reactor is running. # This implements the TokioIo trait on the two tokio executors. # tokio_io: [ tokio/net, tokio/process ] # Enable tokio timer functionality. Implements the Timer trait # it on tokio executors. # tokio_timer: [ tokio/time ] # Enables the wasm-bindgen-futures executor. Only available on Wasm. # If feature timer is enabled, this will implement Timer trait on Bindgen. # bindgen : [ wasm-bindgen-futures ] # Enabled the glommio executor. Linux only. Requires kernel 5.8+. # GlommioCt implements Timer and GlommioIo. # glommio : [ glommio_crate ] # Add support for the futures LocalPool to SpawnHandle and LocalSpawnHandle. # LocalPool will implement Timer if the timer feature is enabled. # localpool: [ futures-executor ] # Add support for the futures ThreadPool to SpawnHandle and LocalSpawnHandle. # ThreadPool will implement Timer if the timer feature is enabled. # threadpool: [ futures-executor/thread-pool ] # only used internally, don't use # notwasm: [] badges: maintenance : { status : actively-developed } travis-ci : { repository : najamelan/async_executors } dependencies: # Public deps # futures-core : { version: ^0.3 } futures-task : { version: ^0.3 } futures-util : { version: ^0.3, features: [ channel ] } futures-executor : { version: ^0.3, optional: true } futures-timer : { version: ^3 , optional: true } tracing-futures : { version: ^0.2, optional: true, features: [futures-03] } glommio_crate : { version: ^0.8, optional: true, package: glommio } tokio : { version: ^1 , optional: true } # Private deps # async-global-executor : { version: ^2 , optional: true, default-features: false } async_std_crate : { version: ^1.6 , optional: true, package: async-std, features: [ unstable ] } pin-project : ^1 blanket : ^0.3 # necessary for the crate to compile for `cargo doc` # wasm-bindgen-futures: { version: ^0.4, optional: true } dev-dependencies: static_assertions : ^1 futures : { version: ^0.3 , features: [ thread-pool ] } tracing-subscriber: { version: ^0.3.5, default-features: false, features: [ fmt ] } tracing_crate : { version: ^0.1 , package: tracing } trait-set : ^0.3 tokio : { version: ^1 , features: [macros, rt] } build-dependencies: rustc_version: ^0.4 profile: release: codegen-units: 1 target: 'cfg(target_arch = "wasm32")': dependencies: futures-timer: { version: ^3, features: [wasm-bindgen], optional: true } dev-dependencies: wasm-bindgen-test: ^0.3 'cfg(not(target_os = "unknown"))': dev-dependencies: tokio : { version: ^1, features: [ io-util, net, rt-multi-thread ] } futures-timer : ^3 example: - name : async_std path : examples/async_std.rs required-features: [ notwasm, async_std ] - name : tokio_ct path : examples/tokio_ct.rs required-features: [ notwasm, tokio_ct ] - name : tokio_tp path : examples/tokio_tp.rs required-features: [ notwasm, tokio_tp ] - name : spawn_handle_multi path : examples/spawn_handle_multi.rs required-features: [ notwasm, async_std ] - name : trait_set path : examples/trait_set.rs required-features: [ notwasm, async_std ] - name : tracing path : examples/tracing.rs required-features: [ notwasm, tracing, async_std ] - name : glommio_ct path : examples/glommio_ct.rs required-features: [ notwasm, glommio ] - name : timer path : examples/timer.rs required-features: [ notwasm, async_std, tokio_ct, tokio_timer ] - name : tokio_io path : examples/tokio_io.rs required-features: [ notwasm, async_global_tokio, async_std_tokio, tokio_ct, tokio_io ] - name : yield_now path : examples/yield_now.rs required-features: [ notwasm, tokio_ct ]