···
1
-
use std::time::{self, SystemTime, UNIX_EPOCH, Duration};
1
+
use std::time::{self, Duration, SystemTime, UNIX_EPOCH};
use atrium_repo::{Repository, blockstore::AsyncBlockStoreRead};
···
repos: IndexMap<String, Repository<R>>,
inodes: IndexSet<PdsFsEntry>,
33
+
rt: tokio::runtime::Runtime,
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
···
repos: Default::default(),
inodes: IndexSet::from([PdsFsEntry::Zero, PdsFsEntry::Root]),
116
+
rt: tokio::runtime::Runtime::new().unwrap(),
···
let did = self.inodes[col.parent].unwrap_did();
let repo = &mut self.repos[did];
let key = format!("{}/{}", col.nsid, r.rkey);
188
-
let rt = tokio::runtime::Runtime::new().unwrap();
.block_on(repo.get_raw::<ipld_core::ipld::Ipld>(&key))
···
405
-
let rt = tokio::runtime::Runtime::new().unwrap();
if let Some(PdsFsEntry::Record(r)) = self.inodes.get_index(ino as usize) {
let col = self.inodes[r.parent].unwrap_collection();
let did = self.inodes[col.parent].unwrap_did();
let repo = &mut self.repos[did];
let key = format!("{}/{}", col.nsid, r.rkey);
412
-
if let Ok(Some(val)) = rt.block_on(repo.get_raw::<ipld_core::ipld::Ipld>(&key)) {
413
+
if let Ok(Some(val)) = self
415
+
.block_on(repo.get_raw::<ipld_core::ipld::Ipld>(&key))
reply.data(&serde_json::to_string(&val).unwrap().as_bytes()[offset as usize..]);