[package]
edition = "2021"
rust-version = "1.70"
name = "oxirs-stream"
version = "0.2.2"
authors = ["KitaSan <info@kitasan.io>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Real-time streaming support with Kafka/NATS/MQTT/OPC-UA I/O, RDF Patch, and SPARQL Update delta"
homepage = "https://github.com/cool-japan/oxirs"
readme = "README.md"
keywords = [
"streaming",
"kafka",
"mqtt",
"opcua",
"industry40",
]
categories = [
"network-programming",
"asynchronous",
"database",
]
license = "Apache-2.0"
repository = "https://github.com/cool-japan/oxirs"
[package.metadata.docs.rs]
features = [
"memory",
"compression",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
all-backends = [
"kafka",
"nats",
"kinesis",
"redis",
"pulsar",
"rabbitmq",
"mqtt",
"opcua",
]
compression = []
default = ["memory"]
industry40 = [
"mqtt",
"opcua",
"sparkplug",
]
kafka = ["rdkafka"]
kinesis = [
"aws-config",
"aws-sdk-kinesis",
"aws-smithy-types",
]
memory = []
mqtt = ["dep:rumqttc"]
nats = [
"async-nats",
"time",
]
opcua = ["dep:async-opcua"]
opentelemetry = [
"dep:opentelemetry",
"dep:opentelemetry-jaeger",
"dep:opentelemetry_sdk",
"dep:opentelemetry-semantic-conventions",
]
pulsar = ["dep:pulsar"]
rabbitmq = [
"dep:lapin",
"time",
]
redis = ["dep:redis"]
sparkplug = [
"mqtt",
"dep:prost-build",
]
wasm = ["dep:wasmtime"]
wasm-rsa = ["dep:rsa"]
[lib]
name = "oxirs_stream"
path = "src/lib.rs"
[[example]]
name = "advanced_sampling_demo"
path = "examples/advanced_sampling_demo.rs"
[[example]]
name = "edge_computing_wasm"
path = "examples/edge_computing_wasm.rs"
[[example]]
name = "edge_computing_wasm_simple"
path = "examples/edge_computing_wasm_simple.rs"
[[example]]
name = "enhanced_connection_demo"
path = "examples/enhanced_connection_demo.rs"
[[test]]
name = "backend_specific_tests"
path = "tests/backend_specific_tests.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "performance_tests"
path = "tests/performance_tests.rs"
[[bench]]
name = "comprehensive_ecosystem_benchmarks"
path = "benches/comprehensive_ecosystem_benchmarks.rs"
[[bench]]
name = "performance_benchmarks"
path = "benches/performance_benchmarks.rs"
harness = false
[[bench]]
name = "sampling_benchmarks"
path = "benches/sampling_benchmarks.rs"
[[bench]]
name = "stream_performance"
path = "benches/stream_performance.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.apache-avro]
version = "0.21"
[dependencies.async-nats]
version = "0.46"
optional = true
[dependencies.async-opcua]
version = "0.18"
features = ["client"]
optional = true
[dependencies.async-trait]
version = "0.1"
[dependencies.aws-config]
version = "1.8"
optional = true
[dependencies.aws-sdk-kinesis]
version = "1.21"
optional = true
[dependencies.aws-smithy-types]
version = "1.3"
optional = true
[dependencies.base64]
version = "0.22"
[dependencies.brotli]
version = "8.0"
[dependencies.bumpalo]
version = "3.14"
[dependencies.bytes]
version = "1.11.1"
[dependencies.chrono]
version = "0.4.44"
features = ["serde"]
[dependencies.ciborium]
version = "0.2"
[dependencies.crc32fast]
version = "1.5"
[dependencies.dashmap]
version = "6.1"
[dependencies.ed25519-dalek]
version = "2.1"
features = [
"rand_core",
"serde",
]
[dependencies.fastrand]
version = "2.3.0"
[dependencies.flate2]
version = "1.1"
[dependencies.futures]
version = "0.3"
[dependencies.futures-util]
version = "0.3"
[dependencies.hex]
version = "0.4.3"
[dependencies.hmac]
version = "0.12.1"
[dependencies.lapin]
version = "4.2"
features = ["native-tls"]
optional = true
[dependencies.nalgebra]
version = "0.34"
[dependencies.num-complex]
version = "0.4"
[dependencies.num_cpus]
version = "1.17"
[dependencies.once_cell]
version = "1.21"
[dependencies.opentelemetry]
version = "0.31"
features = [
"trace",
"metrics",
]
optional = true
[dependencies.opentelemetry-jaeger]
version = "0.22"
features = [
"collector_client",
"rt-tokio",
]
optional = true
[dependencies.opentelemetry-semantic-conventions]
version = "0.31"
optional = true
[dependencies.opentelemetry_sdk]
version = "0.31"
features = [
"trace",
"rt-tokio",
]
optional = true
[dependencies.oxiarc-lz4]
version = "0.2.3"
[dependencies.oxiarc-zstd]
version = "0.2.3"
[dependencies.oxicode]
version = "0.1.1"
features = [
"serde",
"derive",
]
[dependencies.oxirs-core]
version = "0.2.2"
[dependencies.parking_lot]
version = "0.12"
[dependencies.prost]
version = "0.14"
[dependencies.prost-types]
version = "0.14"
[dependencies.pulsar]
version = "6.7"
optional = true
[dependencies.quick-xml]
version = "0.39"
[dependencies.rayon]
version = "1.11"
[dependencies.rdkafka]
version = "0.39"
optional = true
[dependencies.redis]
version = "1.0"
features = [
"tokio-comp",
"tokio-comp",
"connection-manager",
"cluster-async",
"streams",
]
optional = true
[dependencies.regex]
version = "1.12.3"
[dependencies.reqwest]
version = "0.13"
features = [
"rustls",
"json",
"form",
"query",
"multipart",
"http2",
]
default-features = false
[dependencies.rmp-serde]
version = "1.3"
[dependencies.rsa]
version = "0.9.10"
features = ["sha2"]
optional = true
[dependencies.rumqttc]
version = "0.25"
features = ["use-rustls"]
optional = true
[dependencies.scirs2-core]
version = "0.3.1"
features = ["random"]
[dependencies.scirs2-signal]
version = "0.3.1"
[dependencies.scirs2-stats]
version = "0.3.1"
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.149"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha2]
version = "0.10.9"
features = ["oid"]
[dependencies.snap]
version = "1.1"
[dependencies.sysinfo]
version = "0.38"
[dependencies.thiserror]
version = "2.0"
[dependencies.time]
version = "0.3.47"
optional = true
[dependencies.tokio]
version = "1.50.0"
features = ["full"]
[dependencies.tokio-stream]
version = "0.1"
features = ["sync"]
[dependencies.toml]
version = "1.0"
[dependencies.tracing]
version = "0.1"
[dependencies.uuid]
version = "1.22"
features = [
"v4",
"serde",
]
[dependencies.wasmparser]
version = "0.245"
[dependencies.wasmtime]
version = "42.0"
optional = true
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.tempfile]
version = "3.27"
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
"fmt",
]
[build-dependencies.prost-build]
version = "0.14"
optional = true