[package] name = "wasmrs" version = "0.17.0" edition = "2021" license = "Apache-2.0" description = "Base host and client implementations of the wasmRS RSocket protocol." repository = "https://github.com/wasmrs/wasmrs-rust" [features] default = [] record-frames = [ "serde", "wasmrs-frames/serde", "base64", "serde_json", "once_cell", ] dump-frames = ["record-frames"] print-frames = ["record-frames"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] wasmrs-frames = { path = "../wasmrs-frames", version = "0.17.0" } wasmrs-codec = { path = "../wasmrs-codec", version = "0.17.0" } wasmrs-runtime = { path = "../wasmrs-runtime", version = "0.17.0" } wasmrs-rx = { path = "../wasmrs-rx", version = "0.17.0" } futures = { workspace = true, default-features = false } bytes = { workspace = true, default-features = false } parking_lot = { workspace = true, default-features = false } tracing = { workspace = true } pin-project-lite = "0.2" # For recording frames once_cell = { version = "1.8", optional = true } serde = { workspace = true, features = ["derive"], optional = true } base64 = { version = "0.21", optional = true } serde_json = { version = "1.0", optional = true } async-trait = { workspace = true } [target.'cfg(not(target_family = "wasm"))'.dependencies] tokio = { workspace = true, features = ["sync", "rt"] } dashmap = "5.4" [target.'cfg(target_family = "wasm")'.dependencies] tokio = { workspace = true, default-features = false, features = ["sync"] } crossbeam-channel = { version = "0.5" } futures-executor = { workspace = true, default-features = false, features = [ "std", ] } futures-util = { workspace = true, default-features = false, features = [ "alloc", ] } [dev-dependencies] env_logger = { workspace = true } anyhow = { version = "1.0" } tokio = { workspace = true, features = ["rt", "time", "macros"] } test-log = { workspace = true }