announcement 0.1.0

A runtime-agnostic oneshot broadcast channel
Documentation
[[bench]]
harness = false
name = "core"
path = "benches/core.rs"

[[bench]]
harness = false
name = "patterns"
path = "benches/patterns.rs"

[[bench]]
harness = false
name = "runtimes"
path = "benches/runtimes.rs"

[[bench]]
harness = false
name = "scaling"
path = "benches/scaling.rs"

[[bench]]
harness = false
name = "stress"
path = "benches/stress.rs"

[[bench]]
harness = false
name = "types"
path = "benches/types.rs"

[[bench]]
harness = false
name = "vs_alternatives"
path = "benches/vs_alternatives.rs"

[dependencies.event-listener]
version = "5"

[dependencies.tracing]
optional = true
version = "0.1"

[dev-dependencies.async-broadcast]
version = "0.7"

[dev-dependencies.criterion]
features = ["html_reports", "async_tokio"]
version = "0.7"

[dev-dependencies.crossbeam]
version = "0.8"

[dev-dependencies.futures]
version = "0.3"

[dev-dependencies.mutants]
version = "0.0.3"

[dev-dependencies.once_cell]
version = "1"

[dev-dependencies.parking_lot]
version = "0.12"

[dev-dependencies.proptest]
version = "1"

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

[dev-dependencies.rayon]
version = "1"

[dev-dependencies.smol]
version = "2"

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

[dev-dependencies.tracing-subscriber]
features = ["fmt"]
version = "0.3.20"

[[example]]
name = "01_basic_usage"
path = "examples/01_basic_usage.rs"

[[example]]
name = "02_async_listening"
path = "examples/02_async_listening.rs"

[[example]]
name = "03_multiple_listeners"
path = "examples/03_multiple_listeners.rs"

[[example]]
name = "04_efficient_broadcasting"
path = "examples/04_efficient_broadcasting.rs"

[[example]]
name = "05_blocking_operations"
path = "examples/05_blocking_operations.rs"

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

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

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

[features]
default = ["std"]
std = []
tracing = ["dep:tracing"]

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

[package]
authors = ["Stephen Waits <steve@waits.net>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["asynchronous", "concurrency"]
description = "A runtime-agnostic oneshot broadcast channel"
documentation = "https://docs.rs/announcement"
edition = "2021"
keywords = ["async", "channel", "broadcast", "oneshot", "sync"]
license = "MIT"
name = "announcement"
readme = "README.md"
repository = "https://github.com/swaits/announcement"
rust-version = "1.80.1"
version = "0.1.0"

[profile.mutants]
debug = 0
inherits = "test"
opt-level = 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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