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"]
 |