MCPcopy Index your code
hub / github.com/endbasic/endbasic / enumerate

Method enumerate

repl/src/demos.rs:124–142  ·  view source on GitHub ↗
(&self)

Source from the content-addressed store, hash-verified

122 }
123
124 async fn enumerate(&self) -> io::Result<DriveFiles> {
125 let mut entries = BTreeMap::new();
126 let mut bytes = 0;
127 for (name, (metadata, content)) in self.demos.iter() {
128 entries.insert(name.to_string(), metadata.clone());
129 bytes += content.len();
130 }
131 let files = self.demos.len();
132
133 let disk_quota = if bytes <= u64::MAX as usize && files <= u64::MAX as usize {
134 Some(DiskSpace::new(bytes as u64, files as u64))
135 } else {
136 // Cannot represent the amount of disk within a DiskSpace.
137 None
138 };
139 let disk_free = Some(DiskSpace::new(0, 0));
140
141 Ok(DriveFiles::new(entries, disk_quota, disk_free))
142 }
143
144 async fn get(&self, name: &str) -> io::Result<Vec<u8>> {
145 let uc_name = name.to_ascii_uppercase();

Callers 2

Calls 3

iterMethod · 0.80
insertMethod · 0.45
lenMethod · 0.45

Tested by 2