Skip to content
Snippets Groups Projects
Select Git revision
0 results

archivist

  • Clone with SSH
  • Clone with HTTPS
  • Falco Hirschenberger's avatar
    Falco Hirschenberger authored
    Now an archive can be used from within multiple tasks
    d4eacce3
    History

    Archivist

    Crates.io Version Crates.io License docs.rs

    Store files in a time or index based directory hierarchy, automatically deleting the oldest files if the size limit is reached.

    It's using an efficient kv-store database for persistency and performance reasons.

        // Store at max 1GB of files
        let mut a = Archivist::new("/tmp/archive", DateTimeTree::default(), 1000).await?;
       
        // Our humble file that we want to keep, but may lose interest after some time 
        let mut f = fs::File::open("/tmp/my_words.txt").unwrap();
    
        // crate a store object for file compression
        let ss = GzStore::new(Cursor::new(f.clone()));
    
        // add the file to the archive
        a.add("words.txt.gz", &ss).await?;

    Copyright 2022-2024, Falco Hirschenberger falco.hirschenberger@gmail.com