Initial functioning FUSE server
This commit is contained in:
		
							
								
								
									
										409
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										409
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							@@ -17,6 +17,15 @@ version = "1.0.2"
 | 
				
			|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 | 
					checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "aho-corasick"
 | 
				
			||||||
 | 
					version = "1.1.1"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "memchr",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "anstream"
 | 
					name = "anstream"
 | 
				
			||||||
version = "0.5.0"
 | 
					version = "0.5.0"
 | 
				
			||||||
@@ -65,6 +74,12 @@ dependencies = [
 | 
				
			|||||||
 "windows-sys",
 | 
					 "windows-sys",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "anyhow"
 | 
				
			||||||
 | 
					version = "1.0.75"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "autocfg"
 | 
					name = "autocfg"
 | 
				
			||||||
version = "1.1.0"
 | 
					version = "1.1.0"
 | 
				
			||||||
@@ -98,6 +113,12 @@ version = "1.3.2"
 | 
				
			|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 | 
					checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "bitflags"
 | 
				
			||||||
 | 
					version = "2.4.0"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "bumpalo"
 | 
					name = "bumpalo"
 | 
				
			||||||
version = "3.14.0"
 | 
					version = "3.14.0"
 | 
				
			||||||
@@ -193,6 +214,64 @@ version = "0.8.4"
 | 
				
			|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
 | 
					checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "either"
 | 
				
			||||||
 | 
					version = "1.9.0"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "env_logger"
 | 
				
			||||||
 | 
					version = "0.10.0"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "humantime",
 | 
				
			||||||
 | 
					 "is-terminal",
 | 
				
			||||||
 | 
					 "log",
 | 
				
			||||||
 | 
					 "regex",
 | 
				
			||||||
 | 
					 "termcolor",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "equivalent"
 | 
				
			||||||
 | 
					version = "1.0.1"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "errno"
 | 
				
			||||||
 | 
					version = "0.3.3"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "errno-dragonfly",
 | 
				
			||||||
 | 
					 "libc",
 | 
				
			||||||
 | 
					 "windows-sys",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "errno-dragonfly"
 | 
				
			||||||
 | 
					version = "0.1.2"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "cc",
 | 
				
			||||||
 | 
					 "libc",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "fastrand"
 | 
				
			||||||
 | 
					version = "2.0.1"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "fixedbitset"
 | 
				
			||||||
 | 
					version = "0.4.2"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "fuser"
 | 
					name = "fuser"
 | 
				
			||||||
version = "0.13.0"
 | 
					version = "0.13.0"
 | 
				
			||||||
@@ -225,12 +304,69 @@ version = "0.28.0"
 | 
				
			|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
 | 
					checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "hashbrown"
 | 
				
			||||||
 | 
					version = "0.14.0"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "heck"
 | 
					name = "heck"
 | 
				
			||||||
version = "0.4.1"
 | 
					version = "0.4.1"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 | 
					checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "hermit-abi"
 | 
				
			||||||
 | 
					version = "0.3.3"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "home"
 | 
				
			||||||
 | 
					version = "0.5.5"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "windows-sys",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "humantime"
 | 
				
			||||||
 | 
					version = "2.1.0"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "indexmap"
 | 
				
			||||||
 | 
					version = "2.0.1"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "ad227c3af19d4914570ad36d30409928b75967c298feb9ea1969db3a610bb14e"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "equivalent",
 | 
				
			||||||
 | 
					 "hashbrown",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "is-terminal"
 | 
				
			||||||
 | 
					version = "0.4.9"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "hermit-abi",
 | 
				
			||||||
 | 
					 "rustix",
 | 
				
			||||||
 | 
					 "windows-sys",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "itertools"
 | 
				
			||||||
 | 
					version = "0.11.0"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "either",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "js-sys"
 | 
					name = "js-sys"
 | 
				
			||||||
version = "0.3.64"
 | 
					version = "0.3.64"
 | 
				
			||||||
@@ -246,6 +382,22 @@ version = "0.2.148"
 | 
				
			|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"
 | 
					checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "linux-raw-sys"
 | 
				
			||||||
 | 
					version = "0.4.7"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "lock_api"
 | 
				
			||||||
 | 
					version = "0.4.10"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "autocfg",
 | 
				
			||||||
 | 
					 "scopeguard",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "log"
 | 
					name = "log"
 | 
				
			||||||
version = "0.4.20"
 | 
					version = "0.4.20"
 | 
				
			||||||
@@ -278,6 +430,22 @@ dependencies = [
 | 
				
			|||||||
 "windows-sys",
 | 
					 "windows-sys",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "multimap"
 | 
				
			||||||
 | 
					version = "0.8.3"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "num_cpus"
 | 
				
			||||||
 | 
					version = "1.16.0"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "hermit-abi",
 | 
				
			||||||
 | 
					 "libc",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "object"
 | 
					name = "object"
 | 
				
			||||||
version = "0.32.1"
 | 
					version = "0.32.1"
 | 
				
			||||||
@@ -309,6 +477,39 @@ dependencies = [
 | 
				
			|||||||
 "winapi",
 | 
					 "winapi",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "parking_lot"
 | 
				
			||||||
 | 
					version = "0.12.1"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "lock_api",
 | 
				
			||||||
 | 
					 "parking_lot_core",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "parking_lot_core"
 | 
				
			||||||
 | 
					version = "0.9.8"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "cfg-if",
 | 
				
			||||||
 | 
					 "libc",
 | 
				
			||||||
 | 
					 "redox_syscall",
 | 
				
			||||||
 | 
					 "smallvec",
 | 
				
			||||||
 | 
					 "windows-targets",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "petgraph"
 | 
				
			||||||
 | 
					version = "0.6.4"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "fixedbitset",
 | 
				
			||||||
 | 
					 "indexmap",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "pin-project-lite"
 | 
					name = "pin-project-lite"
 | 
				
			||||||
version = "0.2.13"
 | 
					version = "0.2.13"
 | 
				
			||||||
@@ -327,6 +528,16 @@ version = "0.2.17"
 | 
				
			|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 | 
					checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "prettyplease"
 | 
				
			||||||
 | 
					version = "0.2.15"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "proc-macro2",
 | 
				
			||||||
 | 
					 "syn",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "proc-macro2"
 | 
					name = "proc-macro2"
 | 
				
			||||||
version = "1.0.67"
 | 
					version = "1.0.67"
 | 
				
			||||||
@@ -336,13 +547,74 @@ dependencies = [
 | 
				
			|||||||
 "unicode-ident",
 | 
					 "unicode-ident",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "prost"
 | 
				
			||||||
 | 
					version = "0.12.1"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "f4fdd22f3b9c31b53c060df4a0613a1c7f062d4115a2b984dd15b1858f7e340d"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "bytes",
 | 
				
			||||||
 | 
					 "prost-derive",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "prost-build"
 | 
				
			||||||
 | 
					version = "0.12.1"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "8bdf592881d821b83d471f8af290226c8d51402259e9bb5be7f9f8bdebbb11ac"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "bytes",
 | 
				
			||||||
 | 
					 "heck",
 | 
				
			||||||
 | 
					 "itertools",
 | 
				
			||||||
 | 
					 "log",
 | 
				
			||||||
 | 
					 "multimap",
 | 
				
			||||||
 | 
					 "once_cell",
 | 
				
			||||||
 | 
					 "petgraph",
 | 
				
			||||||
 | 
					 "prettyplease",
 | 
				
			||||||
 | 
					 "prost",
 | 
				
			||||||
 | 
					 "prost-types",
 | 
				
			||||||
 | 
					 "regex",
 | 
				
			||||||
 | 
					 "syn",
 | 
				
			||||||
 | 
					 "tempfile",
 | 
				
			||||||
 | 
					 "which",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "prost-derive"
 | 
				
			||||||
 | 
					version = "0.12.1"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "265baba7fabd416cf5078179f7d2cbeca4ce7a9041111900675ea7c4cb8a4c32"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "anyhow",
 | 
				
			||||||
 | 
					 "itertools",
 | 
				
			||||||
 | 
					 "proc-macro2",
 | 
				
			||||||
 | 
					 "quote",
 | 
				
			||||||
 | 
					 "syn",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "prost-types"
 | 
				
			||||||
 | 
					version = "0.12.1"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "prost",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "quicfs"
 | 
					name = "quicfs"
 | 
				
			||||||
version = "0.1.0"
 | 
					version = "0.1.0"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "clap",
 | 
					 "clap",
 | 
				
			||||||
 | 
					 "env_logger",
 | 
				
			||||||
 "fuser",
 | 
					 "fuser",
 | 
				
			||||||
 | 
					 "libc",
 | 
				
			||||||
 | 
					 "log",
 | 
				
			||||||
 | 
					 "prost",
 | 
				
			||||||
 | 
					 "prost-build",
 | 
				
			||||||
 "quinn",
 | 
					 "quinn",
 | 
				
			||||||
 | 
					 "signal-hook",
 | 
				
			||||||
 | 
					 "tokio",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
@@ -432,6 +704,44 @@ dependencies = [
 | 
				
			|||||||
 "getrandom",
 | 
					 "getrandom",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "redox_syscall"
 | 
				
			||||||
 | 
					version = "0.3.5"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "bitflags 1.3.2",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "regex"
 | 
				
			||||||
 | 
					version = "1.9.5"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "aho-corasick",
 | 
				
			||||||
 | 
					 "memchr",
 | 
				
			||||||
 | 
					 "regex-automata",
 | 
				
			||||||
 | 
					 "regex-syntax",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "regex-automata"
 | 
				
			||||||
 | 
					version = "0.3.8"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "aho-corasick",
 | 
				
			||||||
 | 
					 "memchr",
 | 
				
			||||||
 | 
					 "regex-syntax",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "regex-syntax"
 | 
				
			||||||
 | 
					version = "0.7.5"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "ring"
 | 
					name = "ring"
 | 
				
			||||||
version = "0.16.20"
 | 
					version = "0.16.20"
 | 
				
			||||||
@@ -459,6 +769,19 @@ version = "1.1.0"
 | 
				
			|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 | 
					checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "rustix"
 | 
				
			||||||
 | 
					version = "0.38.14"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "747c788e9ce8e92b12cd485c49ddf90723550b654b32508f979b71a7b1ecda4f"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "bitflags 2.4.0",
 | 
				
			||||||
 | 
					 "errno",
 | 
				
			||||||
 | 
					 "libc",
 | 
				
			||||||
 | 
					 "linux-raw-sys",
 | 
				
			||||||
 | 
					 "windows-sys",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "rustls"
 | 
					name = "rustls"
 | 
				
			||||||
version = "0.21.7"
 | 
					version = "0.21.7"
 | 
				
			||||||
@@ -510,6 +833,12 @@ dependencies = [
 | 
				
			|||||||
 "windows-sys",
 | 
					 "windows-sys",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "scopeguard"
 | 
				
			||||||
 | 
					version = "1.2.0"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "sct"
 | 
					name = "sct"
 | 
				
			||||||
version = "0.7.0"
 | 
					version = "0.7.0"
 | 
				
			||||||
@@ -526,7 +855,7 @@ version = "2.9.2"
 | 
				
			|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
 | 
					checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "bitflags",
 | 
					 "bitflags 1.3.2",
 | 
				
			||||||
 "core-foundation",
 | 
					 "core-foundation",
 | 
				
			||||||
 "core-foundation-sys",
 | 
					 "core-foundation-sys",
 | 
				
			||||||
 "libc",
 | 
					 "libc",
 | 
				
			||||||
@@ -543,6 +872,25 @@ dependencies = [
 | 
				
			|||||||
 "libc",
 | 
					 "libc",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "signal-hook"
 | 
				
			||||||
 | 
					version = "0.3.17"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "libc",
 | 
				
			||||||
 | 
					 "signal-hook-registry",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "signal-hook-registry"
 | 
				
			||||||
 | 
					version = "1.4.1"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "libc",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "slab"
 | 
					name = "slab"
 | 
				
			||||||
version = "0.4.9"
 | 
					version = "0.4.9"
 | 
				
			||||||
@@ -591,6 +939,28 @@ dependencies = [
 | 
				
			|||||||
 "unicode-ident",
 | 
					 "unicode-ident",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "tempfile"
 | 
				
			||||||
 | 
					version = "3.8.0"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "cfg-if",
 | 
				
			||||||
 | 
					 "fastrand",
 | 
				
			||||||
 | 
					 "redox_syscall",
 | 
				
			||||||
 | 
					 "rustix",
 | 
				
			||||||
 | 
					 "windows-sys",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "termcolor"
 | 
				
			||||||
 | 
					version = "1.3.0"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "winapi-util",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "thiserror"
 | 
					name = "thiserror"
 | 
				
			||||||
version = "1.0.48"
 | 
					version = "1.0.48"
 | 
				
			||||||
@@ -633,13 +1003,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			|||||||
checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
 | 
					checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "backtrace",
 | 
					 "backtrace",
 | 
				
			||||||
 | 
					 "bytes",
 | 
				
			||||||
 "libc",
 | 
					 "libc",
 | 
				
			||||||
 "mio",
 | 
					 "mio",
 | 
				
			||||||
 | 
					 "num_cpus",
 | 
				
			||||||
 | 
					 "parking_lot",
 | 
				
			||||||
 "pin-project-lite",
 | 
					 "pin-project-lite",
 | 
				
			||||||
 | 
					 "signal-hook-registry",
 | 
				
			||||||
 "socket2",
 | 
					 "socket2",
 | 
				
			||||||
 | 
					 "tokio-macros",
 | 
				
			||||||
 "windows-sys",
 | 
					 "windows-sys",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "tokio-macros"
 | 
				
			||||||
 | 
					version = "2.1.0"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "proc-macro2",
 | 
				
			||||||
 | 
					 "quote",
 | 
				
			||||||
 | 
					 "syn",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "tracing"
 | 
					name = "tracing"
 | 
				
			||||||
version = "0.1.37"
 | 
					version = "0.1.37"
 | 
				
			||||||
@@ -761,6 +1147,18 @@ dependencies = [
 | 
				
			|||||||
 "wasm-bindgen",
 | 
					 "wasm-bindgen",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "which"
 | 
				
			||||||
 | 
					version = "4.4.2"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "either",
 | 
				
			||||||
 | 
					 "home",
 | 
				
			||||||
 | 
					 "once_cell",
 | 
				
			||||||
 | 
					 "rustix",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "winapi"
 | 
					name = "winapi"
 | 
				
			||||||
version = "0.3.9"
 | 
					version = "0.3.9"
 | 
				
			||||||
@@ -777,6 +1175,15 @@ version = "0.4.0"
 | 
				
			|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 | 
					checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "winapi-util"
 | 
				
			||||||
 | 
					version = "0.1.6"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "winapi",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "winapi-x86_64-pc-windows-gnu"
 | 
					name = "winapi-x86_64-pc-windows-gnu"
 | 
				
			||||||
version = "0.4.0"
 | 
					version = "0.4.0"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										637
									
								
								Cargo.nix
									
									
									
									
									
								
							
							
						
						
									
										637
									
								
								Cargo.nix
									
									
									
									
									
								
							@@ -56,6 +56,21 @@ in
 | 
				
			|||||||
    src = fetchCratesIo { inherit name version; sha256 = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"; };
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"; };
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".aho-corasick."1.1.1" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "aho-corasick";
 | 
				
			||||||
 | 
					    version = "1.1.1";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "default" ]
 | 
				
			||||||
 | 
					      [ "perf-literal" ]
 | 
				
			||||||
 | 
					      [ "std" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      memchr = rustPackages."registry+https://github.com/rust-lang/crates.io-index".memchr."2.6.3" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  "registry+https://github.com/rust-lang/crates.io-index".anstream."0.5.0" = overridableMkRustCrate (profileName: rec {
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".anstream."0.5.0" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
    name = "anstream";
 | 
					    name = "anstream";
 | 
				
			||||||
    version = "0.5.0";
 | 
					    version = "0.5.0";
 | 
				
			||||||
@@ -122,6 +137,17 @@ in
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".anyhow."1.0.75" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "anyhow";
 | 
				
			||||||
 | 
					    version = "1.0.75";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "default" ]
 | 
				
			||||||
 | 
					      [ "std" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  "registry+https://github.com/rust-lang/crates.io-index".autocfg."1.1.0" = overridableMkRustCrate (profileName: rec {
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".autocfg."1.1.0" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
    name = "autocfg";
 | 
					    name = "autocfg";
 | 
				
			||||||
    version = "1.1.0";
 | 
					    version = "1.1.0";
 | 
				
			||||||
@@ -172,6 +198,16 @@ in
 | 
				
			|||||||
    ];
 | 
					    ];
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".bitflags."2.4.0" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "bitflags";
 | 
				
			||||||
 | 
					    version = "2.4.0";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "std" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  "registry+https://github.com/rust-lang/crates.io-index".bumpalo."3.14.0" = overridableMkRustCrate (profileName: rec {
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".bumpalo."3.14.0" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
    name = "bumpalo";
 | 
					    name = "bumpalo";
 | 
				
			||||||
    version = "3.14.0";
 | 
					    version = "3.14.0";
 | 
				
			||||||
@@ -307,26 +343,112 @@ in
 | 
				
			|||||||
    src = fetchCratesIo { inherit name version; sha256 = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"; };
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"; };
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".either."1.9.0" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "either";
 | 
				
			||||||
 | 
					    version = "1.9.0";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "default" ]
 | 
				
			||||||
 | 
					      [ "use_std" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".env_logger."0.10.0" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "env_logger";
 | 
				
			||||||
 | 
					    version = "0.10.0";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "auto-color" ]
 | 
				
			||||||
 | 
					      [ "color" ]
 | 
				
			||||||
 | 
					      [ "default" ]
 | 
				
			||||||
 | 
					      [ "humantime" ]
 | 
				
			||||||
 | 
					      [ "regex" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      humantime = rustPackages."registry+https://github.com/rust-lang/crates.io-index".humantime."2.1.0" { inherit profileName; };
 | 
				
			||||||
 | 
					      is_terminal = rustPackages."registry+https://github.com/rust-lang/crates.io-index".is-terminal."0.4.9" { inherit profileName; };
 | 
				
			||||||
 | 
					      log = rustPackages."registry+https://github.com/rust-lang/crates.io-index".log."0.4.20" { inherit profileName; };
 | 
				
			||||||
 | 
					      regex = rustPackages."registry+https://github.com/rust-lang/crates.io-index".regex."1.9.5" { inherit profileName; };
 | 
				
			||||||
 | 
					      termcolor = rustPackages."registry+https://github.com/rust-lang/crates.io-index".termcolor."1.3.0" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".equivalent."1.0.1" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "equivalent";
 | 
				
			||||||
 | 
					    version = "1.0.1";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"; };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".errno."0.3.3" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "errno";
 | 
				
			||||||
 | 
					    version = "0.3.3";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "std" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      ${ if hostPlatform.parsed.kernel.name == "dragonfly" then "errno_dragonfly" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".errno-dragonfly."0.1.2" { inherit profileName; };
 | 
				
			||||||
 | 
					      ${ if hostPlatform.isUnix || hostPlatform.parsed.kernel.name == "hermit" || hostPlatform.parsed.kernel.name == "wasi" then "libc" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.148" { inherit profileName; };
 | 
				
			||||||
 | 
					      ${ if hostPlatform.isWindows then "windows_sys" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-sys."0.48.0" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".errno-dragonfly."0.1.2" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "errno-dragonfly";
 | 
				
			||||||
 | 
					    version = "0.1.2";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"; };
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      libc = rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.148" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    buildDependencies = {
 | 
				
			||||||
 | 
					      cc = buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".cc."1.0.83" { profileName = "__noProfile"; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".fastrand."2.0.1" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "fastrand";
 | 
				
			||||||
 | 
					    version = "2.0.1";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "alloc" ]
 | 
				
			||||||
 | 
					      [ "default" ]
 | 
				
			||||||
 | 
					      [ "std" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".fixedbitset."0.4.2" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "fixedbitset";
 | 
				
			||||||
 | 
					    version = "0.4.2";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"; };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  "registry+https://github.com/rust-lang/crates.io-index".fuser."0.13.0" = overridableMkRustCrate (profileName: rec {
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".fuser."0.13.0" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
    name = "fuser";
 | 
					    name = "fuser";
 | 
				
			||||||
    version = "0.13.0";
 | 
					    version = "0.13.0";
 | 
				
			||||||
    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
    src = fetchCratesIo { inherit name version; sha256 = "21370f84640642c8ea36dfb2a6bfc4c55941f476fcf431f6fef25a5ddcf0169b"; };
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "21370f84640642c8ea36dfb2a6bfc4c55941f476fcf431f6fef25a5ddcf0169b"; };
 | 
				
			||||||
    features = builtins.concatLists [
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
      [ "default" ]
 | 
					      (lib.optional (rootFeatures' ? "quicfs/client" || rootFeatures' ? "quicfs/default") "default")
 | 
				
			||||||
      [ "libfuse" ]
 | 
					      (lib.optional (rootFeatures' ? "quicfs/client" || rootFeatures' ? "quicfs/default") "libfuse")
 | 
				
			||||||
      [ "pkg-config" ]
 | 
					      (lib.optional (rootFeatures' ? "quicfs/client" || rootFeatures' ? "quicfs/default") "pkg-config")
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
    dependencies = {
 | 
					    dependencies = {
 | 
				
			||||||
      libc = rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.148" { inherit profileName; };
 | 
					      ${ if rootFeatures' ? "quicfs/client" || rootFeatures' ? "quicfs/default" then "libc" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.148" { inherit profileName; };
 | 
				
			||||||
      log = rustPackages."registry+https://github.com/rust-lang/crates.io-index".log."0.4.20" { inherit profileName; };
 | 
					      ${ if rootFeatures' ? "quicfs/client" || rootFeatures' ? "quicfs/default" then "log" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".log."0.4.20" { inherit profileName; };
 | 
				
			||||||
      memchr = rustPackages."registry+https://github.com/rust-lang/crates.io-index".memchr."2.6.3" { inherit profileName; };
 | 
					      ${ if rootFeatures' ? "quicfs/client" || rootFeatures' ? "quicfs/default" then "memchr" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".memchr."2.6.3" { inherit profileName; };
 | 
				
			||||||
      page_size = rustPackages."registry+https://github.com/rust-lang/crates.io-index".page_size."0.5.0" { inherit profileName; };
 | 
					      ${ if rootFeatures' ? "quicfs/client" || rootFeatures' ? "quicfs/default" then "page_size" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".page_size."0.5.0" { inherit profileName; };
 | 
				
			||||||
      smallvec = rustPackages."registry+https://github.com/rust-lang/crates.io-index".smallvec."1.11.1" { inherit profileName; };
 | 
					      ${ if rootFeatures' ? "quicfs/client" || rootFeatures' ? "quicfs/default" then "smallvec" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".smallvec."1.11.1" { inherit profileName; };
 | 
				
			||||||
      zerocopy = rustPackages."registry+https://github.com/rust-lang/crates.io-index".zerocopy."0.6.4" { inherit profileName; };
 | 
					      ${ if rootFeatures' ? "quicfs/client" || rootFeatures' ? "quicfs/default" then "zerocopy" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".zerocopy."0.6.4" { inherit profileName; };
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    buildDependencies = {
 | 
					    buildDependencies = {
 | 
				
			||||||
      pkg_config = buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".pkg-config."0.3.27" { profileName = "__noProfile"; };
 | 
					      ${ if rootFeatures' ? "quicfs/client" || rootFeatures' ? "quicfs/default" then "pkg_config" else null } = buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".pkg-config."0.3.27" { profileName = "__noProfile"; };
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
@@ -356,6 +478,16 @@ in
 | 
				
			|||||||
    ];
 | 
					    ];
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".hashbrown."0.14.0" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "hashbrown";
 | 
				
			||||||
 | 
					    version = "0.14.0";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "raw" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  "registry+https://github.com/rust-lang/crates.io-index".heck."0.4.1" = overridableMkRustCrate (profileName: rec {
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".heck."0.4.1" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
    name = "heck";
 | 
					    name = "heck";
 | 
				
			||||||
    version = "0.4.1";
 | 
					    version = "0.4.1";
 | 
				
			||||||
@@ -366,6 +498,73 @@ in
 | 
				
			|||||||
    ];
 | 
					    ];
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".hermit-abi."0.3.3" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "hermit-abi";
 | 
				
			||||||
 | 
					    version = "0.3.3";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "default" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".home."0.5.5" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "home";
 | 
				
			||||||
 | 
					    version = "0.5.5";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"; };
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      ${ if hostPlatform.isWindows then "windows_sys" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-sys."0.48.0" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".humantime."2.1.0" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "humantime";
 | 
				
			||||||
 | 
					    version = "2.1.0";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"; };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".indexmap."2.0.1" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "indexmap";
 | 
				
			||||||
 | 
					    version = "2.0.1";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "ad227c3af19d4914570ad36d30409928b75967c298feb9ea1969db3a610bb14e"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "default" ]
 | 
				
			||||||
 | 
					      [ "std" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      equivalent = rustPackages."registry+https://github.com/rust-lang/crates.io-index".equivalent."1.0.1" { inherit profileName; };
 | 
				
			||||||
 | 
					      hashbrown = rustPackages."registry+https://github.com/rust-lang/crates.io-index".hashbrown."0.14.0" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".is-terminal."0.4.9" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "is-terminal";
 | 
				
			||||||
 | 
					    version = "0.4.9";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"; };
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      ${ if hostPlatform.parsed.kernel.name == "hermit" then "hermit_abi" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".hermit-abi."0.3.3" { inherit profileName; };
 | 
				
			||||||
 | 
					      ${ if !(hostPlatform.isWindows || hostPlatform.parsed.kernel.name == "hermit" || hostPlatform.parsed.kernel.name == "unknown") then "rustix" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustix."0.38.14" { inherit profileName; };
 | 
				
			||||||
 | 
					      ${ if hostPlatform.isWindows then "windows_sys" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-sys."0.48.0" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".itertools."0.11.0" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "itertools";
 | 
				
			||||||
 | 
					    version = "0.11.0";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "use_alloc" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      either = rustPackages."registry+https://github.com/rust-lang/crates.io-index".either."1.9.0" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  "registry+https://github.com/rust-lang/crates.io-index".js-sys."0.3.64" = overridableMkRustCrate (profileName: rec {
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".js-sys."0.3.64" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
    name = "js-sys";
 | 
					    name = "js-sys";
 | 
				
			||||||
    version = "0.3.64";
 | 
					    version = "0.3.64";
 | 
				
			||||||
@@ -383,15 +582,50 @@ in
 | 
				
			|||||||
    src = fetchCratesIo { inherit name version; sha256 = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"; };
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"; };
 | 
				
			||||||
    features = builtins.concatLists [
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
      [ "default" ]
 | 
					      [ "default" ]
 | 
				
			||||||
 | 
					      [ "extra_traits" ]
 | 
				
			||||||
      [ "std" ]
 | 
					      [ "std" ]
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".linux-raw-sys."0.4.7" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "linux-raw-sys";
 | 
				
			||||||
 | 
					    version = "0.4.7";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "elf" ]
 | 
				
			||||||
 | 
					      [ "errno" ]
 | 
				
			||||||
 | 
					      [ "general" ]
 | 
				
			||||||
 | 
					      [ "ioctl" ]
 | 
				
			||||||
 | 
					      [ "no_std" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".lock_api."0.4.10" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "lock_api";
 | 
				
			||||||
 | 
					    version = "0.4.10";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "atomic_usize" ]
 | 
				
			||||||
 | 
					      [ "default" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      scopeguard = rustPackages."registry+https://github.com/rust-lang/crates.io-index".scopeguard."1.2.0" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    buildDependencies = {
 | 
				
			||||||
 | 
					      autocfg = buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".autocfg."1.1.0" { profileName = "__noProfile"; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  "registry+https://github.com/rust-lang/crates.io-index".log."0.4.20" = overridableMkRustCrate (profileName: rec {
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".log."0.4.20" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
    name = "log";
 | 
					    name = "log";
 | 
				
			||||||
    version = "0.4.20";
 | 
					    version = "0.4.20";
 | 
				
			||||||
    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
    src = fetchCratesIo { inherit name version; sha256 = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"; };
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "std" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  "registry+https://github.com/rust-lang/crates.io-index".memchr."2.6.3" = overridableMkRustCrate (profileName: rec {
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".memchr."2.6.3" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
@@ -433,6 +667,24 @@ in
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".multimap."0.8.3" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "multimap";
 | 
				
			||||||
 | 
					    version = "0.8.3";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a"; };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".num_cpus."1.16.0" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "num_cpus";
 | 
				
			||||||
 | 
					    version = "1.16.0";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"; };
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      ${ if hostPlatform.parsed.kernel.name == "hermit" then "hermit_abi" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".hermit-abi."0.3.3" { inherit profileName; };
 | 
				
			||||||
 | 
					      ${ if !hostPlatform.isWindows then "libc" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.148" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  "registry+https://github.com/rust-lang/crates.io-index".object."0.32.1" = overridableMkRustCrate (profileName: rec {
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".object."0.32.1" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
    name = "object";
 | 
					    name = "object";
 | 
				
			||||||
    version = "0.32.1";
 | 
					    version = "0.32.1";
 | 
				
			||||||
@@ -478,8 +730,47 @@ in
 | 
				
			|||||||
    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
    src = fetchCratesIo { inherit name version; sha256 = "1b7663cbd190cfd818d08efa8497f6cd383076688c49a391ef7c0d03cd12b561"; };
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "1b7663cbd190cfd818d08efa8497f6cd383076688c49a391ef7c0d03cd12b561"; };
 | 
				
			||||||
    dependencies = {
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      ${ if (rootFeatures' ? "quicfs/client" || rootFeatures' ? "quicfs/default") && hostPlatform.isUnix then "libc" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.148" { inherit profileName; };
 | 
				
			||||||
 | 
					      ${ if (rootFeatures' ? "quicfs/client" || rootFeatures' ? "quicfs/default") && hostPlatform.isWindows then "winapi" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".winapi."0.3.9" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".parking_lot."0.12.1" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "parking_lot";
 | 
				
			||||||
 | 
					    version = "0.12.1";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "default" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      lock_api = rustPackages."registry+https://github.com/rust-lang/crates.io-index".lock_api."0.4.10" { inherit profileName; };
 | 
				
			||||||
 | 
					      parking_lot_core = rustPackages."registry+https://github.com/rust-lang/crates.io-index".parking_lot_core."0.9.8" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".parking_lot_core."0.9.8" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "parking_lot_core";
 | 
				
			||||||
 | 
					    version = "0.9.8";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"; };
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      cfg_if = rustPackages."registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" { inherit profileName; };
 | 
				
			||||||
      ${ if hostPlatform.isUnix then "libc" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.148" { inherit profileName; };
 | 
					      ${ if hostPlatform.isUnix then "libc" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.148" { inherit profileName; };
 | 
				
			||||||
      ${ if hostPlatform.isWindows then "winapi" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".winapi."0.3.9" { inherit profileName; };
 | 
					      ${ if hostPlatform.parsed.kernel.name == "redox" then "syscall" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".redox_syscall."0.3.5" { inherit profileName; };
 | 
				
			||||||
 | 
					      smallvec = rustPackages."registry+https://github.com/rust-lang/crates.io-index".smallvec."1.11.1" { inherit profileName; };
 | 
				
			||||||
 | 
					      ${ if hostPlatform.isWindows then "windows_targets" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-targets."0.48.5" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".petgraph."0.6.4" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "petgraph";
 | 
				
			||||||
 | 
					    version = "0.6.4";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9"; };
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      fixedbitset = rustPackages."registry+https://github.com/rust-lang/crates.io-index".fixedbitset."0.4.2" { inherit profileName; };
 | 
				
			||||||
 | 
					      indexmap = rustPackages."registry+https://github.com/rust-lang/crates.io-index".indexmap."2.0.1" { inherit profileName; };
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
@@ -508,6 +799,17 @@ in
 | 
				
			|||||||
    ];
 | 
					    ];
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".prettyplease."0.2.15" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "prettyplease";
 | 
				
			||||||
 | 
					    version = "0.2.15";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d"; };
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      proc_macro2 = rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.67" { inherit profileName; };
 | 
				
			||||||
 | 
					      syn = rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.37" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  "registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.67" = overridableMkRustCrate (profileName: rec {
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.67" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
    name = "proc-macro2";
 | 
					    name = "proc-macro2";
 | 
				
			||||||
    version = "1.0.67";
 | 
					    version = "1.0.67";
 | 
				
			||||||
@@ -522,15 +824,95 @@ in
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".prost."0.12.1" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "prost";
 | 
				
			||||||
 | 
					    version = "0.12.1";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "f4fdd22f3b9c31b53c060df4a0613a1c7f062d4115a2b984dd15b1858f7e340d"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "default" ]
 | 
				
			||||||
 | 
					      [ "prost-derive" ]
 | 
				
			||||||
 | 
					      [ "std" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      bytes = rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.5.0" { inherit profileName; };
 | 
				
			||||||
 | 
					      prost_derive = buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".prost-derive."0.12.1" { profileName = "__noProfile"; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".prost-build."0.12.1" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "prost-build";
 | 
				
			||||||
 | 
					    version = "0.12.1";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "8bdf592881d821b83d471f8af290226c8d51402259e9bb5be7f9f8bdebbb11ac"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "default" ]
 | 
				
			||||||
 | 
					      [ "format" ]
 | 
				
			||||||
 | 
					      [ "prettyplease" ]
 | 
				
			||||||
 | 
					      [ "syn" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      bytes = rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.5.0" { inherit profileName; };
 | 
				
			||||||
 | 
					      heck = rustPackages."registry+https://github.com/rust-lang/crates.io-index".heck."0.4.1" { inherit profileName; };
 | 
				
			||||||
 | 
					      itertools = rustPackages."registry+https://github.com/rust-lang/crates.io-index".itertools."0.11.0" { inherit profileName; };
 | 
				
			||||||
 | 
					      log = rustPackages."registry+https://github.com/rust-lang/crates.io-index".log."0.4.20" { inherit profileName; };
 | 
				
			||||||
 | 
					      multimap = rustPackages."registry+https://github.com/rust-lang/crates.io-index".multimap."0.8.3" { inherit profileName; };
 | 
				
			||||||
 | 
					      once_cell = rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.18.0" { inherit profileName; };
 | 
				
			||||||
 | 
					      petgraph = rustPackages."registry+https://github.com/rust-lang/crates.io-index".petgraph."0.6.4" { inherit profileName; };
 | 
				
			||||||
 | 
					      prettyplease = rustPackages."registry+https://github.com/rust-lang/crates.io-index".prettyplease."0.2.15" { inherit profileName; };
 | 
				
			||||||
 | 
					      prost = rustPackages."registry+https://github.com/rust-lang/crates.io-index".prost."0.12.1" { inherit profileName; };
 | 
				
			||||||
 | 
					      prost_types = rustPackages."registry+https://github.com/rust-lang/crates.io-index".prost-types."0.12.1" { inherit profileName; };
 | 
				
			||||||
 | 
					      regex = rustPackages."registry+https://github.com/rust-lang/crates.io-index".regex."1.9.5" { inherit profileName; };
 | 
				
			||||||
 | 
					      syn = rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.37" { inherit profileName; };
 | 
				
			||||||
 | 
					      tempfile = rustPackages."registry+https://github.com/rust-lang/crates.io-index".tempfile."3.8.0" { inherit profileName; };
 | 
				
			||||||
 | 
					      which = rustPackages."registry+https://github.com/rust-lang/crates.io-index".which."4.4.2" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".prost-derive."0.12.1" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "prost-derive";
 | 
				
			||||||
 | 
					    version = "0.12.1";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "265baba7fabd416cf5078179f7d2cbeca4ce7a9041111900675ea7c4cb8a4c32"; };
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      anyhow = rustPackages."registry+https://github.com/rust-lang/crates.io-index".anyhow."1.0.75" { inherit profileName; };
 | 
				
			||||||
 | 
					      itertools = rustPackages."registry+https://github.com/rust-lang/crates.io-index".itertools."0.11.0" { inherit profileName; };
 | 
				
			||||||
 | 
					      proc_macro2 = rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.67" { inherit profileName; };
 | 
				
			||||||
 | 
					      quote = rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.33" { inherit profileName; };
 | 
				
			||||||
 | 
					      syn = rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.37" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".prost-types."0.12.1" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "prost-types";
 | 
				
			||||||
 | 
					    version = "0.12.1";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf"; };
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      prost = rustPackages."registry+https://github.com/rust-lang/crates.io-index".prost."0.12.1" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  "unknown".quicfs."0.1.0" = overridableMkRustCrate (profileName: rec {
 | 
					  "unknown".quicfs."0.1.0" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
    name = "quicfs";
 | 
					    name = "quicfs";
 | 
				
			||||||
    version = "0.1.0";
 | 
					    version = "0.1.0";
 | 
				
			||||||
    registry = "unknown";
 | 
					    registry = "unknown";
 | 
				
			||||||
    src = fetchCrateLocal workspaceSrc;
 | 
					    src = fetchCrateLocal workspaceSrc;
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      (lib.optional (rootFeatures' ? "quicfs/client" || rootFeatures' ? "quicfs/default") "client")
 | 
				
			||||||
 | 
					      (lib.optional (rootFeatures' ? "quicfs/default") "default")
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
    dependencies = {
 | 
					    dependencies = {
 | 
				
			||||||
      clap = rustPackages."registry+https://github.com/rust-lang/crates.io-index".clap."4.4.4" { inherit profileName; };
 | 
					      clap = rustPackages."registry+https://github.com/rust-lang/crates.io-index".clap."4.4.4" { inherit profileName; };
 | 
				
			||||||
      fuser = rustPackages."registry+https://github.com/rust-lang/crates.io-index".fuser."0.13.0" { inherit profileName; };
 | 
					      env_logger = rustPackages."registry+https://github.com/rust-lang/crates.io-index".env_logger."0.10.0" { inherit profileName; };
 | 
				
			||||||
 | 
					      ${ if rootFeatures' ? "quicfs/client" || rootFeatures' ? "quicfs/default" then "fuser" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".fuser."0.13.0" { inherit profileName; };
 | 
				
			||||||
 | 
					      ${ if rootFeatures' ? "quicfs/client" || rootFeatures' ? "quicfs/default" then "libc" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.148" { inherit profileName; };
 | 
				
			||||||
 | 
					      log = rustPackages."registry+https://github.com/rust-lang/crates.io-index".log."0.4.20" { inherit profileName; };
 | 
				
			||||||
 | 
					      prost = rustPackages."registry+https://github.com/rust-lang/crates.io-index".prost."0.12.1" { inherit profileName; };
 | 
				
			||||||
 | 
					      prost_build = rustPackages."registry+https://github.com/rust-lang/crates.io-index".prost-build."0.12.1" { inherit profileName; };
 | 
				
			||||||
      quinn = rustPackages."registry+https://github.com/rust-lang/crates.io-index".quinn."0.10.2" { inherit profileName; };
 | 
					      quinn = rustPackages."registry+https://github.com/rust-lang/crates.io-index".quinn."0.10.2" { inherit profileName; };
 | 
				
			||||||
 | 
					      signal_hook = rustPackages."registry+https://github.com/rust-lang/crates.io-index".signal-hook."0.3.17" { inherit profileName; };
 | 
				
			||||||
 | 
					      tokio = rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio."1.32.0" { inherit profileName; };
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
@@ -669,6 +1051,79 @@ in
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".redox_syscall."0.3.5" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "redox_syscall";
 | 
				
			||||||
 | 
					    version = "0.3.5";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"; };
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      bitflags = rustPackages."registry+https://github.com/rust-lang/crates.io-index".bitflags."1.3.2" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".regex."1.9.5" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "regex";
 | 
				
			||||||
 | 
					    version = "1.9.5";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "perf" ]
 | 
				
			||||||
 | 
					      [ "perf-backtrack" ]
 | 
				
			||||||
 | 
					      [ "perf-cache" ]
 | 
				
			||||||
 | 
					      [ "perf-dfa" ]
 | 
				
			||||||
 | 
					      [ "perf-inline" ]
 | 
				
			||||||
 | 
					      [ "perf-literal" ]
 | 
				
			||||||
 | 
					      [ "perf-onepass" ]
 | 
				
			||||||
 | 
					      [ "std" ]
 | 
				
			||||||
 | 
					      [ "unicode-bool" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      aho_corasick = rustPackages."registry+https://github.com/rust-lang/crates.io-index".aho-corasick."1.1.1" { inherit profileName; };
 | 
				
			||||||
 | 
					      memchr = rustPackages."registry+https://github.com/rust-lang/crates.io-index".memchr."2.6.3" { inherit profileName; };
 | 
				
			||||||
 | 
					      regex_automata = rustPackages."registry+https://github.com/rust-lang/crates.io-index".regex-automata."0.3.8" { inherit profileName; };
 | 
				
			||||||
 | 
					      regex_syntax = rustPackages."registry+https://github.com/rust-lang/crates.io-index".regex-syntax."0.7.5" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".regex-automata."0.3.8" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "regex-automata";
 | 
				
			||||||
 | 
					    version = "0.3.8";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "alloc" ]
 | 
				
			||||||
 | 
					      [ "dfa-onepass" ]
 | 
				
			||||||
 | 
					      [ "hybrid" ]
 | 
				
			||||||
 | 
					      [ "meta" ]
 | 
				
			||||||
 | 
					      [ "nfa-backtrack" ]
 | 
				
			||||||
 | 
					      [ "nfa-pikevm" ]
 | 
				
			||||||
 | 
					      [ "nfa-thompson" ]
 | 
				
			||||||
 | 
					      [ "perf-inline" ]
 | 
				
			||||||
 | 
					      [ "perf-literal" ]
 | 
				
			||||||
 | 
					      [ "perf-literal-multisubstring" ]
 | 
				
			||||||
 | 
					      [ "perf-literal-substring" ]
 | 
				
			||||||
 | 
					      [ "std" ]
 | 
				
			||||||
 | 
					      [ "syntax" ]
 | 
				
			||||||
 | 
					      [ "unicode-bool" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      aho_corasick = rustPackages."registry+https://github.com/rust-lang/crates.io-index".aho-corasick."1.1.1" { inherit profileName; };
 | 
				
			||||||
 | 
					      memchr = rustPackages."registry+https://github.com/rust-lang/crates.io-index".memchr."2.6.3" { inherit profileName; };
 | 
				
			||||||
 | 
					      regex_syntax = rustPackages."registry+https://github.com/rust-lang/crates.io-index".regex-syntax."0.7.5" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".regex-syntax."0.7.5" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "regex-syntax";
 | 
				
			||||||
 | 
					    version = "0.7.5";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "std" ]
 | 
				
			||||||
 | 
					      [ "unicode-bool" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  "registry+https://github.com/rust-lang/crates.io-index".ring."0.16.20" = overridableMkRustCrate (profileName: rec {
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".ring."0.16.20" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
    name = "ring";
 | 
					    name = "ring";
 | 
				
			||||||
    version = "0.16.20";
 | 
					    version = "0.16.20";
 | 
				
			||||||
@@ -711,6 +1166,28 @@ in
 | 
				
			|||||||
    ];
 | 
					    ];
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".rustix."0.38.14" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "rustix";
 | 
				
			||||||
 | 
					    version = "0.38.14";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "747c788e9ce8e92b12cd485c49ddf90723550b654b32508f979b71a7b1ecda4f"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "alloc" ]
 | 
				
			||||||
 | 
					      [ "default" ]
 | 
				
			||||||
 | 
					      [ "fs" ]
 | 
				
			||||||
 | 
					      [ "std" ]
 | 
				
			||||||
 | 
					      [ "termios" ]
 | 
				
			||||||
 | 
					      [ "use-libc-auxv" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      bitflags = rustPackages."registry+https://github.com/rust-lang/crates.io-index".bitflags."2.4.0" { inherit profileName; };
 | 
				
			||||||
 | 
					      ${ if hostPlatform.parsed.kernel.name == "linux" && hostPlatform.parsed.cpu.significantByte == "littleEndian" && (hostPlatform.parsed.cpu.name == "armv6l" || hostPlatform.parsed.cpu.name == "armv7l" || hostPlatform.parsed.cpu.name == "aarch64" && hostPlatform.parsed.cpu.bits == 64 || hostPlatform.parsed.cpu.name == "riscv64" || hostPlatform.parsed.cpu.name == "i686" || hostPlatform.parsed.cpu.name == "x86_64" && hostPlatform.parsed.cpu.bits == 64) || !hostPlatform.isWindows && !(hostPlatform.parsed.kernel.name == "linux" && hostPlatform.parsed.cpu.significantByte == "littleEndian" && (hostPlatform.parsed.cpu.name == "armv6l" || hostPlatform.parsed.cpu.name == "armv7l" || hostPlatform.parsed.cpu.name == "aarch64" && hostPlatform.parsed.cpu.bits == 64 || hostPlatform.parsed.cpu.name == "riscv64" || hostPlatform.parsed.cpu.name == "i686" || hostPlatform.parsed.cpu.name == "x86_64" && hostPlatform.parsed.cpu.bits == 64)) || hostPlatform.isWindows then "libc_errno" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".errno."0.3.3" { inherit profileName; };
 | 
				
			||||||
 | 
					      ${ if hostPlatform.parsed.kernel.name == "linux" && hostPlatform.parsed.cpu.significantByte == "littleEndian" && (hostPlatform.parsed.cpu.name == "armv6l" || hostPlatform.parsed.cpu.name == "armv7l" || hostPlatform.parsed.cpu.name == "aarch64" && hostPlatform.parsed.cpu.bits == 64 || hostPlatform.parsed.cpu.name == "riscv64" || hostPlatform.parsed.cpu.name == "i686" || hostPlatform.parsed.cpu.name == "x86_64" && hostPlatform.parsed.cpu.bits == 64) || !hostPlatform.isWindows && !(hostPlatform.parsed.kernel.name == "linux" && hostPlatform.parsed.cpu.significantByte == "littleEndian" && (hostPlatform.parsed.cpu.name == "armv6l" || hostPlatform.parsed.cpu.name == "armv7l" || hostPlatform.parsed.cpu.name == "aarch64" && hostPlatform.parsed.cpu.bits == 64 || hostPlatform.parsed.cpu.name == "riscv64" || hostPlatform.parsed.cpu.name == "i686" || hostPlatform.parsed.cpu.name == "x86_64" && hostPlatform.parsed.cpu.bits == 64)) then "libc" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.148" { inherit profileName; };
 | 
				
			||||||
 | 
					      ${ if hostPlatform.parsed.kernel.name == "linux" && hostPlatform.parsed.cpu.significantByte == "littleEndian" && (hostPlatform.parsed.cpu.name == "armv6l" || hostPlatform.parsed.cpu.name == "armv7l" || hostPlatform.parsed.cpu.name == "aarch64" && hostPlatform.parsed.cpu.bits == 64 || hostPlatform.parsed.cpu.name == "riscv64" || hostPlatform.parsed.cpu.name == "i686" || hostPlatform.parsed.cpu.name == "x86_64" && hostPlatform.parsed.cpu.bits == 64) || (hostPlatform.parsed.kernel.name == "android" || hostPlatform.parsed.kernel.name == "linux") && !(hostPlatform.parsed.kernel.name == "linux" && hostPlatform.parsed.cpu.significantByte == "littleEndian" && (hostPlatform.parsed.cpu.name == "armv6l" || hostPlatform.parsed.cpu.name == "armv7l" || hostPlatform.parsed.cpu.name == "aarch64" && hostPlatform.parsed.cpu.bits == 64 || hostPlatform.parsed.cpu.name == "riscv64" || hostPlatform.parsed.cpu.name == "i686" || hostPlatform.parsed.cpu.name == "x86_64" && hostPlatform.parsed.cpu.bits == 64)) then "linux_raw_sys" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".linux-raw-sys."0.4.7" { inherit profileName; };
 | 
				
			||||||
 | 
					      ${ if hostPlatform.isWindows then "windows_sys" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-sys."0.48.0" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  "registry+https://github.com/rust-lang/crates.io-index".rustls."0.21.7" = overridableMkRustCrate (profileName: rec {
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".rustls."0.21.7" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
    name = "rustls";
 | 
					    name = "rustls";
 | 
				
			||||||
    version = "0.21.7";
 | 
					    version = "0.21.7";
 | 
				
			||||||
@@ -775,6 +1252,13 @@ in
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".scopeguard."1.2.0" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "scopeguard";
 | 
				
			||||||
 | 
					    version = "1.2.0";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"; };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  "registry+https://github.com/rust-lang/crates.io-index".sct."0.7.0" = overridableMkRustCrate (profileName: rec {
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".sct."0.7.0" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
    name = "sct";
 | 
					    name = "sct";
 | 
				
			||||||
    version = "0.7.0";
 | 
					    version = "0.7.0";
 | 
				
			||||||
@@ -818,6 +1302,32 @@ in
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".signal-hook."0.3.17" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "signal-hook";
 | 
				
			||||||
 | 
					    version = "0.3.17";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801"; };
 | 
				
			||||||
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "channel" ]
 | 
				
			||||||
 | 
					      [ "default" ]
 | 
				
			||||||
 | 
					      [ "iterator" ]
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      libc = rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.148" { inherit profileName; };
 | 
				
			||||||
 | 
					      signal_hook_registry = rustPackages."registry+https://github.com/rust-lang/crates.io-index".signal-hook-registry."1.4.1" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".signal-hook-registry."1.4.1" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "signal-hook-registry";
 | 
				
			||||||
 | 
					    version = "1.4.1";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"; };
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      libc = rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.148" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  "registry+https://github.com/rust-lang/crates.io-index".slab."0.4.9" = overridableMkRustCrate (profileName: rec {
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".slab."0.4.9" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
    name = "slab";
 | 
					    name = "slab";
 | 
				
			||||||
    version = "0.4.9";
 | 
					    version = "0.4.9";
 | 
				
			||||||
@@ -892,6 +1402,30 @@ in
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".tempfile."3.8.0" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "tempfile";
 | 
				
			||||||
 | 
					    version = "3.8.0";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"; };
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      cfg_if = rustPackages."registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" { inherit profileName; };
 | 
				
			||||||
 | 
					      fastrand = rustPackages."registry+https://github.com/rust-lang/crates.io-index".fastrand."2.0.1" { inherit profileName; };
 | 
				
			||||||
 | 
					      ${ if hostPlatform.parsed.kernel.name == "redox" then "syscall" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".redox_syscall."0.3.5" { inherit profileName; };
 | 
				
			||||||
 | 
					      ${ if hostPlatform.isUnix || hostPlatform.parsed.kernel.name == "wasi" then "rustix" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustix."0.38.14" { inherit profileName; };
 | 
				
			||||||
 | 
					      ${ if hostPlatform.isWindows then "windows_sys" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-sys."0.48.0" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".termcolor."1.3.0" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "termcolor";
 | 
				
			||||||
 | 
					    version = "1.3.0";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64"; };
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      ${ if hostPlatform.isWindows then "winapi_util" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".winapi-util."0.1.6" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  "registry+https://github.com/rust-lang/crates.io-index".thiserror."1.0.48" = overridableMkRustCrate (profileName: rec {
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".thiserror."1.0.48" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
    name = "thiserror";
 | 
					    name = "thiserror";
 | 
				
			||||||
    version = "1.0.48";
 | 
					    version = "1.0.48";
 | 
				
			||||||
@@ -942,26 +1476,56 @@ in
 | 
				
			|||||||
    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
    src = fetchCratesIo { inherit name version; sha256 = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"; };
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"; };
 | 
				
			||||||
    features = builtins.concatLists [
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "bytes" ]
 | 
				
			||||||
      [ "default" ]
 | 
					      [ "default" ]
 | 
				
			||||||
 | 
					      [ "fs" ]
 | 
				
			||||||
 | 
					      [ "full" ]
 | 
				
			||||||
 | 
					      [ "io-std" ]
 | 
				
			||||||
 | 
					      [ "io-util" ]
 | 
				
			||||||
      [ "libc" ]
 | 
					      [ "libc" ]
 | 
				
			||||||
 | 
					      [ "macros" ]
 | 
				
			||||||
      [ "mio" ]
 | 
					      [ "mio" ]
 | 
				
			||||||
      [ "net" ]
 | 
					      [ "net" ]
 | 
				
			||||||
 | 
					      [ "num_cpus" ]
 | 
				
			||||||
 | 
					      [ "parking_lot" ]
 | 
				
			||||||
 | 
					      [ "process" ]
 | 
				
			||||||
      [ "rt" ]
 | 
					      [ "rt" ]
 | 
				
			||||||
 | 
					      [ "rt-multi-thread" ]
 | 
				
			||||||
 | 
					      [ "signal" ]
 | 
				
			||||||
 | 
					      [ "signal-hook-registry" ]
 | 
				
			||||||
      [ "socket2" ]
 | 
					      [ "socket2" ]
 | 
				
			||||||
      [ "sync" ]
 | 
					      [ "sync" ]
 | 
				
			||||||
      [ "time" ]
 | 
					      [ "time" ]
 | 
				
			||||||
 | 
					      [ "tokio-macros" ]
 | 
				
			||||||
      [ "windows-sys" ]
 | 
					      [ "windows-sys" ]
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
    dependencies = {
 | 
					    dependencies = {
 | 
				
			||||||
      ${ if false then "backtrace" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".backtrace."0.3.69" { inherit profileName; };
 | 
					      ${ if false then "backtrace" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".backtrace."0.3.69" { inherit profileName; };
 | 
				
			||||||
 | 
					      bytes = rustPackages."registry+https://github.com/rust-lang/crates.io-index".bytes."1.5.0" { inherit profileName; };
 | 
				
			||||||
      ${ if hostPlatform.isUnix then "libc" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.148" { inherit profileName; };
 | 
					      ${ if hostPlatform.isUnix then "libc" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.148" { inherit profileName; };
 | 
				
			||||||
      mio = rustPackages."registry+https://github.com/rust-lang/crates.io-index".mio."0.8.8" { inherit profileName; };
 | 
					      mio = rustPackages."registry+https://github.com/rust-lang/crates.io-index".mio."0.8.8" { inherit profileName; };
 | 
				
			||||||
 | 
					      num_cpus = rustPackages."registry+https://github.com/rust-lang/crates.io-index".num_cpus."1.16.0" { inherit profileName; };
 | 
				
			||||||
 | 
					      parking_lot = rustPackages."registry+https://github.com/rust-lang/crates.io-index".parking_lot."0.12.1" { inherit profileName; };
 | 
				
			||||||
      pin_project_lite = rustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-project-lite."0.2.13" { inherit profileName; };
 | 
					      pin_project_lite = rustPackages."registry+https://github.com/rust-lang/crates.io-index".pin-project-lite."0.2.13" { inherit profileName; };
 | 
				
			||||||
 | 
					      ${ if hostPlatform.isUnix then "signal_hook_registry" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".signal-hook-registry."1.4.1" { inherit profileName; };
 | 
				
			||||||
      socket2 = rustPackages."registry+https://github.com/rust-lang/crates.io-index".socket2."0.5.4" { inherit profileName; };
 | 
					      socket2 = rustPackages."registry+https://github.com/rust-lang/crates.io-index".socket2."0.5.4" { inherit profileName; };
 | 
				
			||||||
 | 
					      tokio_macros = buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio-macros."2.1.0" { profileName = "__noProfile"; };
 | 
				
			||||||
      ${ if hostPlatform.isWindows then "windows_sys" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-sys."0.48.0" { inherit profileName; };
 | 
					      ${ if hostPlatform.isWindows then "windows_sys" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows-sys."0.48.0" { inherit profileName; };
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".tokio-macros."2.1.0" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "tokio-macros";
 | 
				
			||||||
 | 
					    version = "2.1.0";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"; };
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      proc_macro2 = rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.67" { inherit profileName; };
 | 
				
			||||||
 | 
					      quote = rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.33" { inherit profileName; };
 | 
				
			||||||
 | 
					      syn = rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.37" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  "registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.37" = overridableMkRustCrate (profileName: rec {
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.37" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
    name = "tracing";
 | 
					    name = "tracing";
 | 
				
			||||||
    version = "0.1.37";
 | 
					    version = "0.1.37";
 | 
				
			||||||
@@ -1133,14 +1697,37 @@ in
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".which."4.4.2" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "which";
 | 
				
			||||||
 | 
					    version = "4.4.2";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"; };
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      either = rustPackages."registry+https://github.com/rust-lang/crates.io-index".either."1.9.0" { inherit profileName; };
 | 
				
			||||||
 | 
					      ${ if hostPlatform.isWindows || hostPlatform.isUnix || hostPlatform.parsed.kernel.name == "redox" then "home" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".home."0.5.5" { inherit profileName; };
 | 
				
			||||||
 | 
					      ${ if hostPlatform.isWindows then "once_cell" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".once_cell."1.18.0" { inherit profileName; };
 | 
				
			||||||
 | 
					      rustix = rustPackages."registry+https://github.com/rust-lang/crates.io-index".rustix."0.38.14" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  "registry+https://github.com/rust-lang/crates.io-index".winapi."0.3.9" = overridableMkRustCrate (profileName: rec {
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".winapi."0.3.9" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
    name = "winapi";
 | 
					    name = "winapi";
 | 
				
			||||||
    version = "0.3.9";
 | 
					    version = "0.3.9";
 | 
				
			||||||
    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
    src = fetchCratesIo { inherit name version; sha256 = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"; };
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"; };
 | 
				
			||||||
    features = builtins.concatLists [
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
 | 
					      [ "consoleapi" ]
 | 
				
			||||||
 | 
					      [ "errhandlingapi" ]
 | 
				
			||||||
 | 
					      [ "fileapi" ]
 | 
				
			||||||
 | 
					      [ "minwindef" ]
 | 
				
			||||||
      [ "ntsecapi" ]
 | 
					      [ "ntsecapi" ]
 | 
				
			||||||
 | 
					      [ "processenv" ]
 | 
				
			||||||
 | 
					      [ "std" ]
 | 
				
			||||||
      [ "sysinfoapi" ]
 | 
					      [ "sysinfoapi" ]
 | 
				
			||||||
 | 
					      [ "winbase" ]
 | 
				
			||||||
 | 
					      [ "wincon" ]
 | 
				
			||||||
 | 
					      [ "winerror" ]
 | 
				
			||||||
 | 
					      [ "winnt" ]
 | 
				
			||||||
      [ "wtypesbase" ]
 | 
					      [ "wtypesbase" ]
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
    dependencies = {
 | 
					    dependencies = {
 | 
				
			||||||
@@ -1156,6 +1743,16 @@ in
 | 
				
			|||||||
    src = fetchCratesIo { inherit name version; sha256 = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"; };
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"; };
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".winapi-util."0.1.6" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
 | 
					    name = "winapi-util";
 | 
				
			||||||
 | 
					    version = "0.1.6";
 | 
				
			||||||
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"; };
 | 
				
			||||||
 | 
					    dependencies = {
 | 
				
			||||||
 | 
					      ${ if hostPlatform.isWindows then "winapi" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".winapi."0.3.9" { inherit profileName; };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  "registry+https://github.com/rust-lang/crates.io-index".winapi-x86_64-pc-windows-gnu."0.4.0" = overridableMkRustCrate (profileName: rec {
 | 
					  "registry+https://github.com/rust-lang/crates.io-index".winapi-x86_64-pc-windows-gnu."0.4.0" = overridableMkRustCrate (profileName: rec {
 | 
				
			||||||
    name = "winapi-x86_64-pc-windows-gnu";
 | 
					    name = "winapi-x86_64-pc-windows-gnu";
 | 
				
			||||||
    version = "0.4.0";
 | 
					    version = "0.4.0";
 | 
				
			||||||
@@ -1171,6 +1768,8 @@ in
 | 
				
			|||||||
    features = builtins.concatLists [
 | 
					    features = builtins.concatLists [
 | 
				
			||||||
      [ "Win32" ]
 | 
					      [ "Win32" ]
 | 
				
			||||||
      [ "Win32_Foundation" ]
 | 
					      [ "Win32_Foundation" ]
 | 
				
			||||||
 | 
					      [ "Win32_NetworkManagement" ]
 | 
				
			||||||
 | 
					      [ "Win32_NetworkManagement_IpHelper" ]
 | 
				
			||||||
      [ "Win32_Networking" ]
 | 
					      [ "Win32_Networking" ]
 | 
				
			||||||
      [ "Win32_Networking_WinSock" ]
 | 
					      [ "Win32_Networking_WinSock" ]
 | 
				
			||||||
      [ "Win32_Security" ]
 | 
					      [ "Win32_Security" ]
 | 
				
			||||||
@@ -1182,12 +1781,16 @@ in
 | 
				
			|||||||
      [ "Win32_Storage_FileSystem" ]
 | 
					      [ "Win32_Storage_FileSystem" ]
 | 
				
			||||||
      [ "Win32_System" ]
 | 
					      [ "Win32_System" ]
 | 
				
			||||||
      [ "Win32_System_Console" ]
 | 
					      [ "Win32_System_Console" ]
 | 
				
			||||||
 | 
					      [ "Win32_System_Diagnostics" ]
 | 
				
			||||||
 | 
					      [ "Win32_System_Diagnostics_Debug" ]
 | 
				
			||||||
      [ "Win32_System_IO" ]
 | 
					      [ "Win32_System_IO" ]
 | 
				
			||||||
      [ "Win32_System_Memory" ]
 | 
					      [ "Win32_System_Memory" ]
 | 
				
			||||||
      [ "Win32_System_Pipes" ]
 | 
					      [ "Win32_System_Pipes" ]
 | 
				
			||||||
      [ "Win32_System_SystemServices" ]
 | 
					      [ "Win32_System_SystemServices" ]
 | 
				
			||||||
      [ "Win32_System_Threading" ]
 | 
					      [ "Win32_System_Threading" ]
 | 
				
			||||||
      [ "Win32_System_WindowsProgramming" ]
 | 
					      [ "Win32_System_WindowsProgramming" ]
 | 
				
			||||||
 | 
					      [ "Win32_UI" ]
 | 
				
			||||||
 | 
					      [ "Win32_UI_Shell" ]
 | 
				
			||||||
      [ "default" ]
 | 
					      [ "default" ]
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
    dependencies = {
 | 
					    dependencies = {
 | 
				
			||||||
@@ -1266,8 +1869,8 @@ in
 | 
				
			|||||||
    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
    src = fetchCratesIo { inherit name version; sha256 = "20707b61725734c595e840fb3704378a0cd2b9c74cc9e6e20724838fc6a1e2f9"; };
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "20707b61725734c595e840fb3704378a0cd2b9c74cc9e6e20724838fc6a1e2f9"; };
 | 
				
			||||||
    dependencies = {
 | 
					    dependencies = {
 | 
				
			||||||
      byteorder = rustPackages."registry+https://github.com/rust-lang/crates.io-index".byteorder."1.4.3" { inherit profileName; };
 | 
					      ${ if rootFeatures' ? "quicfs/client" || rootFeatures' ? "quicfs/default" then "byteorder" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".byteorder."1.4.3" { inherit profileName; };
 | 
				
			||||||
      zerocopy_derive = buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".zerocopy-derive."0.6.4" { profileName = "__noProfile"; };
 | 
					      ${ if rootFeatures' ? "quicfs/client" || rootFeatures' ? "quicfs/default" then "zerocopy_derive" else null } = buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".zerocopy-derive."0.6.4" { profileName = "__noProfile"; };
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
@@ -1277,9 +1880,9 @@ in
 | 
				
			|||||||
    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
					    registry = "registry+https://github.com/rust-lang/crates.io-index";
 | 
				
			||||||
    src = fetchCratesIo { inherit name version; sha256 = "56097d5b91d711293a42be9289403896b68654625021732067eac7a4ca388a1f"; };
 | 
					    src = fetchCratesIo { inherit name version; sha256 = "56097d5b91d711293a42be9289403896b68654625021732067eac7a4ca388a1f"; };
 | 
				
			||||||
    dependencies = {
 | 
					    dependencies = {
 | 
				
			||||||
      proc_macro2 = rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.67" { inherit profileName; };
 | 
					      ${ if rootFeatures' ? "quicfs/client" || rootFeatures' ? "quicfs/default" then "proc_macro2" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.67" { inherit profileName; };
 | 
				
			||||||
      quote = rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.33" { inherit profileName; };
 | 
					      ${ if rootFeatures' ? "quicfs/client" || rootFeatures' ? "quicfs/default" then "quote" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.33" { inherit profileName; };
 | 
				
			||||||
      syn = rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.37" { inherit profileName; };
 | 
					      ${ if rootFeatures' ? "quicfs/client" || rootFeatures' ? "quicfs/default" then "syn" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."2.0.37" { inherit profileName; };
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										20
									
								
								Cargo.toml
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								Cargo.toml
									
									
									
									
									
								
							@@ -1,11 +1,29 @@
 | 
				
			|||||||
[package]
 | 
					[package]
 | 
				
			||||||
name = "quicfs"
 | 
					name = "quicfs"
 | 
				
			||||||
 | 
					description = "FUSE filesystem for interactive remote mounting"
 | 
				
			||||||
version = "0.1.0"
 | 
					version = "0.1.0"
 | 
				
			||||||
edition = "2021"
 | 
					edition = "2021"
 | 
				
			||||||
 | 
					authors = ["Jack O'Sullivan <j@ckos.ie>"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 | 
					# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[dependencies]
 | 
					[dependencies]
 | 
				
			||||||
clap = { version = "4.4.4", features = ["derive"] }
 | 
					clap = { version = "4.4.4", features = ["derive"] }
 | 
				
			||||||
fuser = "0.13.0"
 | 
					env_logger = "0.10.0"
 | 
				
			||||||
 | 
					fuser = { version = "0.13.0", optional = true }
 | 
				
			||||||
 | 
					libc = { version = "0.2.148", optional = true }
 | 
				
			||||||
 | 
					log = "0.4.20"
 | 
				
			||||||
 | 
					prost = "0.12.1"
 | 
				
			||||||
 | 
					prost-build = "0.12.1"
 | 
				
			||||||
quinn = "0.10.2"
 | 
					quinn = "0.10.2"
 | 
				
			||||||
 | 
					signal-hook = "0.3.17"
 | 
				
			||||||
 | 
					tokio = { version = "1", features = ["full"] }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[features]
 | 
				
			||||||
 | 
					default = ["client"]
 | 
				
			||||||
 | 
					client = ["dep:libc", "dep:fuser"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[bin]]
 | 
				
			||||||
 | 
					name = "quicfs"
 | 
				
			||||||
 | 
					path = "src/client/main.rs"
 | 
				
			||||||
 | 
					required-features = ["client"]
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										72
									
								
								src/client/fs.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								src/client/fs.rs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,72 @@
 | 
				
			|||||||
 | 
					use std::ffi::OsStr;
 | 
				
			||||||
 | 
					use std::time::{Duration, UNIX_EPOCH};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use fuser::{
 | 
				
			||||||
 | 
					    FileAttr, FileType, Filesystem, ReplyAttr, ReplyDirectory, ReplyEntry, Request, FUSE_ROOT_ID,
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					use libc::ENOENT;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const TTL: Duration = Duration::from_secs(1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const HELLO_DIR_ATTR: FileAttr = FileAttr {
 | 
				
			||||||
 | 
					    ino: FUSE_ROOT_ID,
 | 
				
			||||||
 | 
					    size: 0,
 | 
				
			||||||
 | 
					    blocks: 0,
 | 
				
			||||||
 | 
					    atime: UNIX_EPOCH,
 | 
				
			||||||
 | 
					    mtime: UNIX_EPOCH,
 | 
				
			||||||
 | 
					    ctime: UNIX_EPOCH,
 | 
				
			||||||
 | 
					    crtime: UNIX_EPOCH,
 | 
				
			||||||
 | 
					    kind: FileType::Directory,
 | 
				
			||||||
 | 
					    perm: 0o755,
 | 
				
			||||||
 | 
					    nlink: 2,
 | 
				
			||||||
 | 
					    uid: 696969,
 | 
				
			||||||
 | 
					    gid: 696969,
 | 
				
			||||||
 | 
					    rdev: 0,
 | 
				
			||||||
 | 
					    flags: 0,
 | 
				
			||||||
 | 
					    blksize: 512,
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pub struct QuicFS {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					impl QuicFS {
 | 
				
			||||||
 | 
					    pub fn new() -> Self {
 | 
				
			||||||
 | 
					        Self {}
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					impl Filesystem for QuicFS {
 | 
				
			||||||
 | 
					    fn lookup(&mut self, _req: &Request, ino: u64, name: &OsStr, reply: ReplyEntry) {}
 | 
				
			||||||
 | 
					    fn getattr(&mut self, _req: &Request, ino: u64, reply: ReplyAttr) {
 | 
				
			||||||
 | 
					        match ino {
 | 
				
			||||||
 | 
					            FUSE_ROOT_ID => reply.attr(&TTL, &HELLO_DIR_ATTR),
 | 
				
			||||||
 | 
					            _ => reply.error(ENOENT),
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    fn readdir(
 | 
				
			||||||
 | 
					        &mut self,
 | 
				
			||||||
 | 
					        _req: &Request,
 | 
				
			||||||
 | 
					        ino: u64,
 | 
				
			||||||
 | 
					        fh: u64,
 | 
				
			||||||
 | 
					        offset: i64,
 | 
				
			||||||
 | 
					        mut reply: ReplyDirectory,
 | 
				
			||||||
 | 
					    ) {
 | 
				
			||||||
 | 
					        if ino != 1 {
 | 
				
			||||||
 | 
					            reply.error(ENOENT);
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        let entries = vec![
 | 
				
			||||||
 | 
					            (1, FileType::Directory, "."),
 | 
				
			||||||
 | 
					            (1, FileType::Directory, ".."),
 | 
				
			||||||
 | 
					            (2, FileType::RegularFile, "hello.txt"),
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        for (i, entry) in entries.into_iter().enumerate().skip(offset as usize) {
 | 
				
			||||||
 | 
					            // i + 1 means the index of the next entry
 | 
				
			||||||
 | 
					            if reply.add(entry.0, (i + 1) as i64, entry.1, entry.2) {
 | 
				
			||||||
 | 
					                break;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        reply.ok();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										35
									
								
								src/client/main.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								src/client/main.rs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
				
			|||||||
 | 
					use std::error::Error;
 | 
				
			||||||
 | 
					use std::path::PathBuf;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use clap::{Parser, ValueHint};
 | 
				
			||||||
 | 
					use signal_hook::consts::{SIGINT, SIGTERM};
 | 
				
			||||||
 | 
					use signal_hook::iterator::Signals;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					mod fs;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/// quicfs client
 | 
				
			||||||
 | 
					#[derive(Debug, Parser)]
 | 
				
			||||||
 | 
					#[command(author, version)]
 | 
				
			||||||
 | 
					struct Args {
 | 
				
			||||||
 | 
					    #[arg(value_hint = ValueHint::DirPath)]
 | 
				
			||||||
 | 
					    pub mountpoint: PathBuf,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fn main() -> Result<(), Box<dyn Error>> {
 | 
				
			||||||
 | 
					    let args = Args::parse();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    env_logger::init_from_env(env_logger::Env::default().default_filter_or("info"));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    let rt = tokio::runtime::Builder::new_multi_thread()
 | 
				
			||||||
 | 
					        .enable_all()
 | 
				
			||||||
 | 
					        .build()?;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    let fs_session = fuser::spawn_mount2(fs::QuicFS::new(), &args.mountpoint, &[])?;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    for _ in Signals::new(&[SIGINT, SIGTERM])?.forever() {
 | 
				
			||||||
 | 
					        fs_session.join();
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Ok(())
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,3 +0,0 @@
 | 
				
			|||||||
fn main() {
 | 
					 | 
				
			||||||
    println!("Hello, world!");
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user