[package] name = "reactive-messaging" version = "0.3.0" edition = "2021" description = "Reactive client/server communications, focused on high performance" keywords = ["reactive", "event-driven", "socket", "messaging", "transport"] categories = ["asynchronous", "concurrency", "rust-patterns", "network-programming"] readme = "README.md" authors = ["Luiz Silveira "] homepage = "https://github.com/zertyz/reactive-messaging" repository = "https://github.com/zertyz/reactive-messaging" documentation = "https://docs.rs/reactive-messaging/" license = "Unlicense" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [workspace] [features] [dependencies] tokio = { version = "1", features = ["full", "rt-multi-thread"] } log = "0.4" reactive-mutiny = "1.1.25" # for reactive programming in Rust futures = "0.3" # brings in "Streams" / async iterators minstant = "0.1" # as fast as possible time measurements on X86_64 using TSC / RDTSC instructions -- avoiding system calls & context switches once_cell = "1" # lazy statics # for the const configs pattern strum = { version = "0.25", features = ["derive"] } # enums serialization/deserialization strum_macros = "0.25" # for the retrying mechanism keen-retry = "0.4" # soon to be dropped when Rust finally goes forward in late 2023... # (in this crate, the costs of async traits are only paid for functions out of the hot path) async-trait = "0.1" # doc-dependencies ctor = "0.2" # setup and teardown for modules # to be present only in dev-dependencies, after the refactorings ron = "0.8" # .ron config files serde = { version = "1.0", features = ["derive"] } # typed serialization / deserialization [dev-dependencies] ctor = "0.2" # setup and teardown for modules simple_logger = "4.0" # a dirty console logger log = { version = "0.4", features = ["max_level_trace", "release_max_level_info"] } # dependencies for the examples ############################### dashmap = "5.4" # atomic hash maps & sets -- to send a shutdown message to clients # default config loading & saving serde = { version = "1.0", features = ["derive"] } # typed serialization / deserialization ron = "0.8" # .ron config files regex = "1.5" # for placing docs along with config files rand = "0.8" # random number # std replacements minstant = "0.1" # (real) time measurements through RDTSC instruction (without calling the Kernel / without causing a context switch) # command-line parsing structopt = "0.3" # command line parsing chrono = "0" # console UI slog-stdlog = "4" # Facade between slog and Rust's standard 'log' api slog-scope = "4" slog = "2" sloggers = "2" # dependencies for benchmarks ############################# criterion = { version = "0.5", features=["html_reports"] } tokio-stream = "0.1" crossbeam = "0.8" # scoped threads [[bench]] name = "streamable_channels" harness = false