]> git.mikk.net Git - mtbl-rs/commitdiff
Various API tweaks
authorChris Mikkelson <cmikk@fsi.io>
Mon, 16 Sep 2024 05:17:58 +0000 (00:17 -0500)
committerChris Mikkelson <cmikk@fsi.io>
Mon, 16 Sep 2024 05:17:58 +0000 (00:17 -0500)
Avoid need to import memmap, expose fileset

src/fileset.rs
src/lib.rs
src/reader/mod.rs

index 36a8ea4a406e3d9d556cb31341a86edfa5ccf247..0280302a4c0bbfef0d267e4506f5b4176247eff0 100644 (file)
@@ -1,8 +1,8 @@
 #![allow(dead_code)]
-use memmap::Mmap;
+//use memmap::Mmap;
 
 use crate::merger::Merger;
-use crate::reader::Reader;
+use crate::reader::FileReader;
 use crate::Result;
 use std::collections::HashMap;
 use std::path::{Path, PathBuf};
@@ -13,7 +13,7 @@ pub struct Fileset {
     fs_path: PathBuf,
     last_reload: SystemTime,
     reload_interval: Duration,
-    readers: Mutex<HashMap<PathBuf, (Reader<Mmap>, SystemTime)>>,
+    readers: Mutex<HashMap<PathBuf, (FileReader, SystemTime)>>,
 }
 
 fn load_fs_file(f: impl AsRef<Path>) -> Result<Vec<PathBuf>> {
@@ -79,13 +79,13 @@ impl Fileset {
         Ok(())
     }
 
-    pub fn readers(&mut self) -> Result<Vec<Reader<Mmap>>> {
+    pub fn readers(&mut self) -> Result<Vec<FileReader>> {
         self.reload()?;
         let readers = self.readers.lock().unwrap();
         Ok(readers.iter().map(|(_, (r, _))| r.clone()).collect())
     }
 
-    pub fn merger(&mut self) -> Result<Merger<Reader<Mmap>>> {
+    pub fn merger(&mut self) -> Result<Merger<FileReader>> {
         Ok(Merger::from(self.readers()?))
     }
 }
index 7d61f5b004f1f4898713c3f7afc0331f37529f6c..f9b42400f68d6c302e92df34c9967a8fd4f19f50 100644 (file)
@@ -12,7 +12,8 @@ mod writer;
 
 pub use compression::Compression;
 pub use entry::Entry;
-use iter::Iter;
+pub use fileset::Fileset;
+pub use iter::Iter;
 pub use merger::Merger;
 pub use reader::Reader;
 pub use source::Source;
index cf2873c205d31c7c39c3325f5a6294accedc3e63..a38d9491be3d0d8580ed0897662df92ec986a01a 100644 (file)
@@ -68,6 +68,8 @@ pub struct Reader<D: AsRef<[u8]>> {
     metadata: Metadata,
 }
 
+pub type FileReader = Reader<Mmap>;
+
 impl<D: AsRef<[u8]>> Clone for Reader<D> {
     fn clone(&self) -> Self {
         Self {