# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 [package] name = "velo-transports" version = "0.1.0" edition.workspace = true description.workspace = true authors.workspace = true license.workspace = true homepage.workspace = true repository.workspace = true keywords.workspace = true [features] default = ["http", "nats", "grpc"] http = ["dep:axum", "dep:reqwest"] nats = ["dep:async-nats", "dep:bs58"] grpc = ["dep:tonic", "dep:prost", "dep:tower", "dep:hyper", "dep:http", "dep:http-body", "dep:http-body-util", "dep:hyper-util", "dep:tokio-stream"] [dependencies] velo-common = { workspace = true } anyhow = { workspace = true } bytes = { workspace = true } dashmap = { workspace = true } # derive_builder = { workspace = true } parking_lot.workspace = true # serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } thiserror = { workspace = true } tokio = { workspace = true } tracing = { workspace = true } # uuid = { workspace = true, features = ["serde", "v4"] } # xxhash-rust = { workspace = true } # base64 = "0.22" flume = "0.12.0" futures = "0.3" # hashbrown = "0.16" # lru = { version = "0.16", features = ["hashbrown"]} rmp-serde = "1.1" # serde_bytes = "0.11" socket2 = "0.6" tokio-util = { version = "0.7", features = ["codec"] } [target.'cfg(target_os = "linux")'.dependencies] nix = { version = "0.30", features = ["sched"] } # optional dependencies axum = { version = "0.8", optional = true } reqwest = { workspace = true , optional = true } async-nats = { workspace = true, optional = true } bs58 = { version = "0.5", optional = true } prost = { version = "0.13", optional = true } tonic = { version = "0.13.1", optional = true } tower = { version = "0.5", optional = true } hyper = { version = "1.0", optional = true } http = { version = "1.0", optional = true } http-body = { version = "1.0", optional = true } http-body-util = { version = "0.1", optional = true } hyper-util = { version = "0.1", optional = true, features = ["tokio", "server", "server-auto"] } tokio-stream = { version = "0.1", optional = true, features = ["sync"] } [dev-dependencies] tokio = { workspace = true, features = ["test-util", "macros"] } tower = "0.5" tracing-subscriber = { version = "0.3", features = ["env-filter"] } [build-dependencies] tonic-build = "0.13.1"