about summary refs log tree commit diff
path: root/tvix/store/src/fuse/mod.rs
blob: d28e2b309c43e8645e1de36098d05c98909d32aa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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> {}