# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "psrt"
version = "0.2.10"
authors = ["Serhij S. <div@altertech.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Industrial Pub-Sub server with minimal latency and MQTT-compatible logic"
readme = "README.md"
keywords = [
    "pubsub",
    "server",
    "client",
]
license = "Apache-2.0"
repository = "https://github.com/alttch/psrt"

[features]
cli = [
    "dep:bma-benchmark",
    "dep:byte-unit",
    "dep:clap",
    "dep:clap_derive",
    "dep:env_logger",
    "dep:term_size",
    "dep:prettytable-rs",
    "dep:num-format",
    "dep:getch",
    "dep:rand",
    "dep:mimalloc",
]
cluster = ["server"]
crypto = [
    "dep:aes-gcm",
    "dep:rand",
]
openssl-vendored = [
    "openssl/vendored",
    "eva-common/openssl-no-fips",
]
openssl3 = ["eva-common/openssl3"]
server = [
    "dep:base64",
    "dep:bcrypt",
    "dep:clap",
    "dep:clap_derive",
    "dep:colored",
    "dep:chrono",
    "dep:fork",
    "dep:hostname",
    "dep:hyper",
    "dep:serde_json",
    "dep:syslog",
    "dep:mimalloc",
    "submap/native-digest",
    "dep:eva-common",
    "dep:eva-sdk",
]
std-alloc = []

[lib]
name = "psrt"
path = "src/lib.rs"

[[bin]]
name = "psrt-cli"
path = "src/cli.rs"
required-features = ["cli"]

[[bin]]
name = "psrtd"
path = "src/server.rs"
required-features = ["server"]

[[example]]
name = "pubsub"
path = "examples/pubsub.rs"

[[example]]
name = "udp_aes"
path = "examples/udp_aes.rs"
required-features = ["crypto"]

[[example]]
name = "udp_client"
path = "examples/udp_client.rs"

[dependencies.aes-gcm]
version = "0.9.4"
optional = true

[dependencies.async-channel]
version = "1.7.1"

[dependencies.async-trait]
version = "0.1.74"

[dependencies.base64]
version = "0.13.0"
optional = true

[dependencies.bcrypt]
version = "0.10.1"
optional = true

[dependencies.bma-benchmark]
version = "0.0.20"
optional = true

[dependencies.byte-unit]
version = "4.0.13"
optional = true

[dependencies.chrono]
version = "0.4.42"
optional = true

[dependencies.clap]
version = "=3.0.0-beta.2"
optional = true

[dependencies.clap_derive]
version = "=3.0.0-beta.2"
optional = true

[dependencies.colored]
version = "2"
optional = true

[dependencies.env_logger]
version = "0.9.0"
optional = true

[dependencies.eva-common]
version = "0.3.119"
features = [
    "services",
    "fips",
]
optional = true

[dependencies.eva-sdk]
version = "0.3.75"
optional = true

[dependencies.fork]
version = "0.1.18"
optional = true

[dependencies.getch]
version = "0.2.1"
optional = true

[dependencies.hex]
version = "0.4.2"

[dependencies.hostname]
version = "0.3.1"
optional = true

[dependencies.hyper]
version = "0.14"
features = ["full"]
optional = true

[dependencies.log]
version = "0.4.14"

[dependencies.mimalloc]
version = "0.1.43"
optional = true

[dependencies.nix]
version = "0.25.0"

[dependencies.num-format]
version = "0.4.0"
optional = true

[dependencies.once_cell]
version = "1.18.0"

[dependencies.openssl]
version = "0.10"

[dependencies.parking_lot]
version = "0.12.1"
package = "parking_lot_rt"

[dependencies.prettytable-rs]
version = "0.10.0"
optional = true

[dependencies.rand]
version = "0.8.4"
optional = true

[dependencies.serde]
version = "1.0.143"
features = ["derive"]

[dependencies.serde_json]
version = "1.0.68"
optional = true

[dependencies.serde_yaml]
version = "0.8.26"

[dependencies.submap]
version = "0.2.3"
optional = true

[dependencies.syslog]
version = "7.0.0"
optional = true

[dependencies.term_size]
version = "0.3.2"
optional = true

[dependencies.tokio]
version = "1.48"
features = ["full"]

[dependencies.tokio-native-tls]
version = "0.3.1"

[profile.dev]
overflow-checks = false

[profile.release]
lto = true
codegen-units = 1
strip = true
