[package] name = "asynchronix" # When incrementing version and releasing to crates.io: # - Update crate version in this Cargo.toml # - Update crate version in README.md # - Update CHANGELOG.md # - Update if necessary copyright notice in LICENSE-MIT # - Create a "vX.Y.Z" git tag authors = ["Serge Barral "] version = "0.2.2" edition = "2021" rust-version = "1.77.0" license = "MIT OR Apache-2.0" repository = "https://github.com/asynchronics/asynchronix" readme = "../README.md" description = """ A high performance asychronous compute framework for system simulation. """ categories = ["simulation", "aerospace", "science"] keywords = ["simulation", "discrete-event", "systems", "cyberphysical", "real-time"] autotests = false [features] # gRPC service. grpc = ["dep:bytes", "dep:ciborium", "dep:prost", "dep:prost-types", "dep:serde", "dep:tonic", "dep:tokio", "dep:tonic"] # DEVELOPMENT ONLY: API-unstable public exports meant for external test/benchmarking. dev-hooks = [] [dependencies] # Mandatory dependencies. async-event = "0.1" crossbeam-utils = "0.8" diatomic-waker = "0.1" dyn-clone = "1.0" futures-channel = "0.3" futures-task = "0.3" multishot = "0.3.2" num_cpus = "1.13" pin-project-lite = "0.2" recycle-box = "0.2" slab = "0.4" spin_sleep = "1" st3 = "0.4" tai-time = "0.3" # gRPC service dependencies. bytes = { version = "1", default-features = false, optional = true } prost = { version = "0.13", optional = true } prost-types = { version = "0.13", optional = true } ciborium = { version = "0.2.2", optional = true } serde = { version = "1", optional = true } tokio = { version = "1.0", features=["net", "rt-multi-thread"], optional = true } tonic = { version = "0.12", default-features = false, features=["codegen", "prost", "server"], optional = true } [dev-dependencies] atomic-wait = "1.1" futures-util = "0.3" futures-executor = "0.3" mio = { version = "1.0", features = ["os-poll", "net"] } [target.'cfg(asynchronix_loom)'.dev-dependencies] loom = "0.5" waker-fn = "1.1" [target.'cfg(asynchronix_grpc_codegen)'.build-dependencies] tonic-build = { version = "0.12" } [lints.rust] # `asynchronix_loom` flag: run loom-based tests. # `asynchronix_grpc_codegen` flag: regenerate gRPC code from .proto definitions. unexpected_cfgs = { level = "warn", check-cfg = ['cfg(asynchronix_loom)', 'cfg(asynchronix_grpc_codegen)'] } [[test]] name = "integration" path = "tests/tests.rs"