[package]
name = "psrt"
version = "0.2.5"
edition = "2021"
authors = ["Serhij S.
"]
license = "Apache-2.0"
repository = "https://github.com/alttch/psrt"
description = "Industrial Pub-Sub server with minimal latency and MQTT-compatible logic"
readme = "README.md"
keywords = ["pubsub", "server", "client"]
autoexamples = false
[[example]]
name = "pubsub"
path = "examples/pubsub.rs"
[[example]]
name = "udp_aes"
path = "examples/udp_aes.rs"
required-features = ["crypto"]
[lib]
name = "psrt"
path = "src/lib.rs"
[[bin]]
name = "psrtd"
path = "src/server.rs"
required-features = ["server"]
[[bin]]
name = "psrt-cli"
path = "src/cli.rs"
required-features = ["cli"]
[profile.dev]
overflow-checks = false
[profile.release]
strip = true
lto = true
codegen-units = 1
[dependencies]
tokio = { version = "1.20.1", features = ["full"] }
log = "0.4.14"
hex = "0.4.2"
nix = "0.25.0"
tokio-native-tls = "0.3.0"
openssl = "0.10.62"
async-channel = "1.7.1"
serde = { version = "1.0.143", features = ["derive"] }
serde_yaml = "0.8.26"
clap = { version = "=3.0.0-beta.2", optional = true }
clap_derive = { version = "=3.0.0-beta.2", optional = true }
syslog = { version = "5.0.0", optional = true }
chrono = { version = "0.4.19", optional = true }
colored = { version = "2", optional = true }
env_logger = { version = "0.9.0", optional = true }
bcrypt = { version = "0.10.1", optional = true }
fork = { version = "0.1.18", optional = true }
bma-benchmark = { version = "0.0.20", optional = true }
byte-unit = { version = "4.0.13", optional = true }
hyper = { version = "0.14", features = ["full"], optional = true }
serde_json = { version = "1.0.68", optional = true }
base64 = { version = "0.13.0", optional = true }
hostname = { version = "0.3.1", optional = true }
term_size = { version = "0.3.2", optional = true }
prettytable-rs = { version = "0.10.0", optional = true }
num-format = { version = "0.4.0", optional = true }
getch = { version = "0.2.1", optional = true }
aes-gcm = { version = "0.9.4", optional = true }
rand = { version = "0.8.4", optional = true }
submap = { version = "0.2.3", optional = true }
jemallocator = { version = "0.3.2", optional = true }
parking_lot = { package = "parking_lot_rt", version = "0.12.1" }
async-trait = "0.1.74"
eva-sdk = "0.3.10"
once_cell = "1.18.0"
eva-common = { version = "0.3.23", features = ["services"] }
[features]
#default = ["server"]
cluster = ["server"]
cli = ["bma-benchmark", "byte-unit", "clap", "clap_derive", "env_logger",
"term_size", "prettytable-rs", "num-format", "getch", "rand",
"jemallocator"]
server = ["base64", "bcrypt", "clap", "clap_derive", "colored", "chrono", "fork",
"hostname", "hyper", "serde_json", "syslog", "jemallocator", "submap/native-digest"]
crypto = ["aes-gcm", "rand"]
openssl-vendored = ["openssl/vendored", "eva-common/openssl-no-fips"]
openssl3 = ["eva-common/openssl3"]
std-alloc = []