about summary refs log blame commit diff
path: root/tvix/store/src/fuse/mod.rs
blob: d28e2b309c43e8645e1de36098d05c98909d32aa (plain) (tree)
1
2
3
4
5
6
7
8


                                                                                                   
                   
 


                                                 


                          





                                                     

                         
                              
                              



         
                                                           
use crate::{
    blobservice::BlobService, directoryservice::DirectoryService, pathinfoservice::PathInfoService,
};
use std::sync::Arc;

pub struct FUSE<PS: PathInfoService> {
    blob_service: Arc<dyn BlobService>,
    directory_service: Arc<dyn DirectoryService>,
    path_info_service: PS,
}

impl<PS: PathInfoService> FUSE<PS> {
    pub fn new(
        blob_service: Arc<dyn BlobService>,
        directory_service: Arc<dyn DirectoryService>,
        path_info_service: PS,
    ) -> Self {
        Self {
            blob_service,
            directory_service,
            path_info_service,
        }
    }
}

impl<PS: PathInfoService> fuser::Filesystem for FUSE<PS> {}