aboutsummaryrefslogtreecommitdiff
path: root/seaweedfs-rdma-sidecar/rdma-engine/Cargo.toml
diff options
context:
space:
mode:
Diffstat (limited to 'seaweedfs-rdma-sidecar/rdma-engine/Cargo.toml')
-rw-r--r--seaweedfs-rdma-sidecar/rdma-engine/Cargo.toml74
1 files changed, 74 insertions, 0 deletions
diff --git a/seaweedfs-rdma-sidecar/rdma-engine/Cargo.toml b/seaweedfs-rdma-sidecar/rdma-engine/Cargo.toml
new file mode 100644
index 000000000..b04934f71
--- /dev/null
+++ b/seaweedfs-rdma-sidecar/rdma-engine/Cargo.toml
@@ -0,0 +1,74 @@
+[package]
+name = "rdma-engine"
+version = "0.1.0"
+edition = "2021"
+authors = ["SeaweedFS Team <dev@seaweedfs.com>"]
+description = "High-performance RDMA engine for SeaweedFS sidecar"
+license = "Apache-2.0"
+
+[[bin]]
+name = "rdma-engine-server"
+path = "src/main.rs"
+
+[lib]
+name = "rdma_engine"
+path = "src/lib.rs"
+
+[dependencies]
+# UCX (Unified Communication X) for high-performance networking
+# Much better than direct libibverbs - provides unified API across transports
+libc = "0.2"
+libloading = "0.8" # Dynamic loading of UCX libraries
+
+# Async runtime and networking
+tokio = { version = "1.0", features = ["full"] }
+tokio-util = "0.7"
+
+# Serialization for IPC
+serde = { version = "1.0", features = ["derive"] }
+bincode = "1.3"
+rmp-serde = "1.1" # MessagePack for efficient IPC
+
+# Error handling and logging
+anyhow = "1.0"
+thiserror = "1.0"
+tracing = "0.1"
+tracing-subscriber = { version = "0.3", features = ["env-filter"] }
+
+# UUID and time handling
+uuid = { version = "1.0", features = ["v4", "serde"] }
+chrono = { version = "0.4", features = ["serde"] }
+
+# Memory management and utilities
+memmap2 = "0.9"
+bytes = "1.0"
+parking_lot = "0.12" # Fast mutexes
+
+# IPC and networking
+nix = { version = "0.27", features = ["mman"] } # Unix domain sockets and system calls
+async-trait = "0.1" # Async traits
+
+# Configuration
+clap = { version = "4.0", features = ["derive"] }
+config = "0.13"
+
+[dev-dependencies]
+proptest = "1.0"
+criterion = "0.5"
+tempfile = "3.0"
+
+[features]
+default = ["mock-ucx"]
+mock-ucx = []
+real-ucx = [] # UCX integration for production RDMA
+
+[profile.release]
+opt-level = 3
+lto = true
+codegen-units = 1
+panic = "abort"
+
+
+
+[package.metadata.docs.rs]
+features = ["real-rdma"]