[package]
edition = "2024"
rust-version = "1.95"
name = "remoc"
version = "0.19.1"
authors = [
"Sebastian Urban <surban@surban.net>",
"ENQT GmbH <su@enqt.de>",
"Remoc contributors",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "🦑 Remote multiplexed objects, channels, observable collections and RPC making remote interactions seamless. Provides multiple remote channels and RPC over TCP, TLS or any other transport."
readme = "README.md"
keywords = [
"remote",
"channel",
"rpc",
"stream",
"multiplexer",
]
categories = [
"asynchronous",
"network-programming",
]
license = "Apache-2.0"
repository = "https://github.com/remoc-rs/remoc/"
resolver = "2"
[package.metadata.docs.rs]
features = [
"full",
"full-codecs",
"default-codec-postbag",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
codec-bincode = ["bincode"]
codec-ciborium = ["ciborium"]
codec-json = ["serde_json"]
codec-message-pack = ["rmp-serde"]
codec-postbag = ["postbag"]
codec-postcard = ["postcard"]
default = [
"full",
"default-codec-postbag",
]
default-codec-bincode = [
"codec-bincode",
"default-codec-set",
]
default-codec-bincode2 = [
"codec-bincode",
"default-codec-set",
]
default-codec-ciborium = [
"codec-ciborium",
"default-codec-set",
]
default-codec-json = [
"codec-json",
"default-codec-set",
]
default-codec-message-pack = [
"codec-message-pack",
"default-codec-set",
]
default-codec-postbag = [
"codec-postbag",
"default-codec-set",
]
default-codec-postbag-slim = [
"codec-postbag",
"default-codec-set",
]
default-codec-postcard = [
"codec-postcard",
"default-codec-set",
]
default-codec-set = []
full = [
"serde",
"rch",
"rfn",
"robj",
"robs",
"rtc",
]
full-codecs = [
"codec-postbag",
"codec-bincode",
"codec-ciborium",
"codec-json",
"codec-message-pack",
"codec-postcard",
]
js = [
"dep:getrandom",
"dep:js-sys",
"dep:web-sys",
"dep:wasm-bindgen",
"dep:wasm-bindgen-futures",
"uuid/rng-rand",
]
rch = [
"serde",
"tokio-util/codec",
"tokio/io-util",
]
rfn = ["rch"]
robj = ["rch"]
robs = ["rch"]
rtc = [
"rch",
"remoc_macro",
]
[lib]
name = "remoc"
path = "src/lib.rs"
[[test]]
name = "tests"
path = "tests/tests.rs"
[dependencies.bincode]
version = "2.0"
features = [
"std",
"serde",
]
optional = true
default-features = false
[dependencies.byteorder]
version = "1.4"
[dependencies.bytes]
version = "1"
[dependencies.ciborium]
version = "0.2"
optional = true
[dependencies.custom_debug]
version = "0.6"
[dependencies.futures]
version = "0.3.31"
features = ["std"]
default-features = false
[dependencies.getrandom]
version = "0.4"
features = ["wasm_js"]
optional = true
[dependencies.js-sys]
version = "0.3.72"
optional = true
[dependencies.postbag]
version = "0.4"
optional = true
[dependencies.postcard]
version = "1.0"
features = ["use-std"]
optional = true
[dependencies.remoc_macro]
version = "=0.19.1"
optional = true
[dependencies.rmp-serde]
version = "1.0"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.tokio]
version = "1.43"
features = [
"macros",
"rt",
"sync",
"time",
]
[dependencies.tokio-util]
version = "0.7"
features = ["codec"]
[dependencies.tracing]
version = "0.1.29"
[dependencies.uuid]
version = "1.15"
features = [
"serde",
"v4",
]
[dependencies.wasm-bindgen]
version = "0.2.95"
optional = true
[dependencies.wasm-bindgen-futures]
version = "0.4.45"
optional = true
[dependencies.web-sys]
version = "0.3.72"
features = [
"Window",
"WorkerGlobalScope",
"Performance",
]
optional = true
[dev-dependencies.async-trait]
version = "0.1"
[dev-dependencies.rand]
version = "0.10"
[dev-dependencies.tokio]
version = "1.43"
features = [
"io-util",
"rt",
]
[dev-dependencies.tracing-subscriber]
version = "0.3.20"
features = ["env-filter"]
[dev-dependencies.wasm-bindgen-test]
version = "0.3.45"
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.tokio]
version = "1.43"
features = [
"net",
"rt-multi-thread",
]
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.tokio-test]
version = "0.4"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(wasm_bindgen_unstable_test_coverage)"]