pub trait FuseRequestHandler: Send + Sync {
// Required method
fn handle_request(&self, request: &[u8]) -> Result<Vec<u8>>;
// Provided methods
fn on_init(&self, _session: &FuseSession) { ... }
fn on_destroy(&self) { ... }
}Expand description
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
ⓘ
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())
}
}Required Methods§
Provided Methods§
Sourcefn on_init(&self, _session: &FuseSession)
fn on_init(&self, _session: &FuseSession)
Called when the FUSE session is initialized.
This is invoked after the FUSE_INIT handshake completes successfully.
Sourcefn on_destroy(&self)
fn on_destroy(&self)
Called when the FUSE session is destroyed.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".