Struct fuse_backend_rs::api::server::Server

source ·
pub struct Server<F: FileSystem + Sync> { /* private fields */ }
Expand description

Fuse Server to handle requests from the Fuse client and vhost user master.

Implementations§

source§

impl<F: FileSystem + Sync> Server<F>

source

pub fn notify_inval_entry<S: BitmapSlice>( &self, w: FuseDevWriter<'_, S>, parent: u64, name: &CStr, ) -> Result<usize>

Use to send notify msg to kernel fuse

source

pub fn handle_message<S: BitmapSlice>( &self, r: Reader<'_, S>, w: Writer<'_, S>, vu_req: Option<&mut dyn FsCacheReqHandler>, hook: Option<&dyn MetricsHook>, ) -> Result<usize>

Main entrance to handle requests from the transport layer.

It receives Fuse requests from transport layers, parses the request according to Fuse ABI, invokes filesystem drivers to server the requests, and eventually send back the result to the transport layer.

source§

impl<F: FileSystem + Sync> Server<F>

source

pub fn new(fs: F) -> Server<F>

Create a Server instance from a filesystem driver object.

Auto Trait Implementations§

§

impl<F> !Freeze for Server<F>

§

impl<F> RefUnwindSafe for Server<F>
where F: RefUnwindSafe,

§

impl<F> Send for Server<F>
where F: Send,

§

impl<F> Sync for Server<F>

§

impl<F> Unpin for Server<F>
where F: Unpin,

§

impl<F> UnwindSafe for Server<F>
where F: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.