summaryrefslogtreecommitdiff
path: root/src/client.rs
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2021-12-23 18:57:18 -0600
committerAlejandro Soto <alejandro@34project.org>2021-12-23 19:26:39 -0600
commitfc6f4052648a77a66f6bd50ffd1647992cb68b10 (patch)
treeee735850ee63a94c355f920aa168ea1969cca96a /src/client.rs
Initial commit
I started this project on February 2021, but postponed further development until now. The only modification introduced since then is try_trait_v2 (try_trait no longer exists).
Diffstat (limited to '')
-rw-r--r--src/client.rs52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/client.rs b/src/client.rs
new file mode 100644
index 0000000..9f036c3
--- /dev/null
+++ b/src/client.rs
@@ -0,0 +1,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)
+}*/