You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							74 lines
						
					
					
						
							1.7 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							74 lines
						
					
					
						
							1.7 KiB
						
					
					
				
								[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"]
							 |