[package] name = "links_nonblocking" version.workspace = true authors.workspace = true readme.workspace = true license-file.workspace = true edition.workspace = true rust-version.workspace = true repository.workspace = true keywords.workspace = true categories.workspace = true description = "Nonblocking implementation of the links_nonblocking crate" [dependencies] # networking nonblocking mio = { workspace = true } # epoll wrapper # blocking & nonblocking bytes = { workspace = true } # read buffer links_core = { workspace = true, optional = true } # traits log = { workspace = true } slab = { workspace = true } # used by poller byteserde = { workspace = true } # byteserde::utils::hex::to_hex_pretty #TODO move to seperate hex_util crate lazy_static = { workspace = true } # used by common poller spin = { workspace = true } # spin mutex chrono = { workspace = true } [dev-dependencies] env_logger = { workspace = true } num-format = { workspace = true } byteserde_types = { workspace = true } # required to setup unit test models byteserde_derive = { workspace = true } # required to setup unit test models criterion = { workspace = true } # required to setup benchmarks rand = { workspace = true } # required to setup benchmarks serde = { workspace = true } # required to exmples serde_json = { workspace = true } # required to exmples [features] default = ["dep:links_core"] full = ["unittest"] unittest = [ "dep:links_core", "links_core/unittest", # enables links_core::prelude::unitest::* , # which provides test implementation of the Protocol trait for test Messenger ] # BENCHMARKS [[bench]] name = "01_channel_rx_tx_bench" harness = false [[bench]] name = "02_message_ser_des" harness = false [[bench]] name = "03_nonblocking_bench" harness = false [[bench]] name = "04_framer_nonblocking_bench" harness = false [[bench]] name = "05_messender_nonblocking_bench" harness = false [[bench]] name = "06_clt2clt_nonblocking_busywait_bench" harness = false required-features = ["unittest"] [[bench]] name = "07_sender_ref2recver_ref_nonblocking_busywait_bench" harness = false required-features = ["unittest"] # EXAMPLES [[example]] name = "01_clt2clt_nonblocking_busywait_example" required-features = ["unittest"] [[example]] name = "02_clt2svcpool_nonblocking_busywait_example" required-features = ["unittest"] [[example]] name = "03_clt-sender2svc-sender_both-recver-spawned_nonblocking_busywait_example" required-features = ["unittest"] [[example]] name = "04_clt-sender-ref2svc-sender-ref_both-recver-ref-spawned_nonblocking_busywait_example" required-features = ["unittest"]