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
//! FUSE request handler trait — implemented downstream (e.g. by `arcbox-fs`).
use Result;
use crateFuseSession;
/// Trait for handling FUSE requests.
///
/// This trait is implemented by `arcbox-fs::FsServer` to process FUSE
/// filesystem operations. The `VirtioFs` device dispatches requests to
/// this handler.
///
/// # Example
///
/// ```ignore
/// use arcbox_virtio::fs::{FuseRequestHandler, FuseRequest, FuseResponse};
///
/// struct MyFsHandler;
///
/// impl FuseRequestHandler for MyFsHandler {
/// fn handle_request(&self, request: &[u8]) -> arcbox_virtio_core::error::Result<Vec<u8>> {
/// // Process FUSE request and return response
/// Ok(FuseResponse::new(0, vec![]).into_data())
/// }
/// }
/// ```