[package] name = "meslin" version = "0.0.4" edition = "2021" license = "MIT OR Apache-2.0" keywords = ["actor", "messaging", "channel"] categories = ["asynchronous", "concurrency"] description = "Ergonomic messaging for Rust" homepage = "https://github.com/jvdwrf/Meslin" repository = "https://github.com/jvdwrf/Meslin" readme = "../README.md" [dependencies] futures = { version = "0.3", features = ["executor"] } thiserror = { version = "1" } meslin-derive = { version = "0.0.3", path = "../meslin-derive", optional = true } type-sets = { version = "0.0.2" } tokio = { version = "1", features = ["sync"], optional = true, default-features = false } async-priority-channel = { version = "0.2", optional = true } flume = { version = "0.11", optional = true } oneshot = { version = "0.1", optional = true } derive_more = { version = "1.0.0-beta.6", optional = true, default-features = false } async-broadcast = { version = "0.6", optional = true } [dev-dependencies] tokio = { version = "1", features = ["full"] } [features] derive = ["dep:meslin-derive", "derive_more/from", "derive_more/try_into"] mpmc = ["dep:flume"] request = ["dep:oneshot"] broadcast = ["dep:async-broadcast"] watch = ["dep:tokio"] priority = ["dep:async-priority-channel"] default = ["derive", "request", "mpmc", "broadcast", "priority"] [package.metadata.docs.rs] features = ["watch"]