# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "futures_orchestra"
version = "1.1.7"
authors = ["Excerion Sun <dev@excsn.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A Tokio-based task pool for managing concurrent execution of futures with queuing, labeling, notifications and cancellation."
readme = "README.md"
keywords = [
    "async",
    "tokio",
    "concurrency",
    "future",
    "pool",
]
categories = [
    "asynchronous",
    "concurrency",
]
license = "MPL-2.0"
repository = "https://github.com/excsn/futures_orchestra"

[lib]
name = "futures_orchestra"
path = "src/lib.rs"

[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"

[[example]]
name = "completion_notifier_usage"
path = "examples/completion_notifier_usage.rs"

[[example]]
name = "concurrency_limit"
path = "examples/concurrency_limit.rs"

[[example]]
name = "forceful_shutdown"
path = "examples/forceful_shutdown.rs"

[[example]]
name = "graceful_shutdown"
path = "examples/graceful_shutdown.rs"

[[example]]
name = "individual_cancellation"
path = "examples/individual_cancellation.rs"

[[example]]
name = "label_cancellation"
path = "examples/label_cancellation.rs"

[[example]]
name = "task_panic"
path = "examples/task_panic.rs"

[[test]]
name = "notifier_tests"
path = "tests/notifier_tests.rs"

[[test]]
name = "pool_tests"
path = "tests/pool_tests.rs"

[dependencies.dashmap]
version = "^5.5"

[dependencies.fibre]
version = "0.6"

[dependencies.futures]
version = "^0.3"

[dependencies.futures-intrusive]
version = "^0.5"

[dependencies.futures-util]
version = "^0.3"
default-features = false

[dependencies.lazy_static]
version = "^1.4"

[dependencies.parking_lot]
version = "^0.12"

[dependencies.thiserror]
version = "^2.0"

[dependencies.tokio]
version = "^1"
features = [
    "rt",
    "macros",
    "time",
]

[dependencies.tokio-util]
version = "^0.7"

[dependencies.tracing]
version = "^0.1"

[dev-dependencies.rand]
version = "^0.9"

[dev-dependencies.tokio]
version = "^1"
features = ["full"]

[dev-dependencies.tracing-subscriber]
version = "^0.3"
features = [
    "fmt",
    "env-filter",
]
