summaryrefslogtreecommitdiff
path: root/src/client.rs
blob: 9f036c365b33fc52de224997a842a43d04d76f76 (plain)
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//! FUSE client.
//!
//! Usually, a kernel module or other OS component takes the role of the FUSE client. This module
//! is a client-wise counterpart to the rest of `blown-fuse` API. So far, this only serves the
//! purpose of having agnostic tests, but wrappers might be written in the future with it.

/*use crate::{proto, FuseResult};

#[cfg(feature = "server")]
use crate::session;

struct Client {}

struct RequestContext<'a> {
    client: &'a,
    uid: Uid,
    gid: Gid,
    pid: Pid,
}

impl Client {
    pub fn context(&self, uid: Uid, gid: Gid, pid: Pid) -> RequestContext<'_> {
        RequestContext {
            client: &self,
            uid,
            gid,
            pid,
        }
    }
}

impl RequestContext<'_> {
    pub async fn lookup(&self) -> FuseResult<> {
        self.tail()
    }
}

struct Start {}

impl Start {
    pub async fn start(self) -> FuseResult<Session> {

    }
}

#[cfg(feature = "server")]
pub fn channel() -> std::io::Result<(session::Start, self::Start)> {
    let client_start = ;
    let server_start = ;

    (client_stasrt, server_start)
}*/